PHP로 MyISAM 에서 InnoDB 로 변환하기

Posted by 대혀니_
2017. 11. 4. 18:48 IT/Linux

아래와 같은 PHP 코드로 해결할수 있다.

맨위 4개의 변수에 알맞는 정보만 입력하면 자동으로 변환해준다.


<?php
$MYSQL_HOST = "localhost"
$MYSQL_ID = "";
$MYSQL_PW = "";
$MYSQL_DBNAME = "";

@$DB = mysqli_connect($MYSQL_HOST, $MYSQL_ID, $MYSQL_PW);
mysqli_select_db($DB, 'information_schema');
 
$con_result = mysqli_query($DB, "SELECT * FROM `TABLES` WHERE `TABLE_SCHEMA` LIKE " . $MYSQL_DBNAME);
 
while ($row = mysqli_fetch_array($con_result)) {
    $start_time = array_sum(explode(' ', microtime()));
    mysqli_select_db($DB, $MYSQL_DBNAME);
    mysqli_query($DB, "alter table ".$row[TABLE_NAME]." engine='InnoDB';");
    $end_time = array_sum(explode(' ', microtime()));
    echo "convert ok! (time:".round(($end_time-$start_time),5).")
"; } echo "작업 완료"; /* 접속 끊기 */ mysqli_close($DB); ?>