Chuyển đổi tất cả table từ MyISAM sang InnoDB

Thông thường  khi tạo 1 bảng trong MySQL sẽ có nhiều kiểu Storage Engine để bạn lựa chọn. Trong đó có 3 kiểu lưu trữ bảng được dùng nhiều nhất là InnoDB, MyISAM và Memory.

convert, InnoDB, MyISAM, tables, chuyển đổi InnoDB

Nếu vì một lý do nào đó mà bạn cần thay đổi kiểu Storage Engine từ MyISAM sang InnoDB hay ngược lại. Thì đoạn code PHP sau sẽ giúp các bạn làm điều đó.

<?php

// connect your database here first

    $dbhost = 'localhost';

    $dbuser = 'root';

    $dbpass = 'root';



    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');

    $dbname = 'databasename';

    mysql_select_db($dbname);



// Actual code starts here

    $sql = "SHOW tables";

    $rs = mysql_query($sql);

    while($row = mysql_fetch_array($rs))

    {

        $tbl = $row[0];

        $sql = "ALTER TABLE $tbl ENGINE=INNODB";

        mysql_query($sql);

    }

?>

Bây giờ việc cần làm của các bạn là thay đổi các tham số $dbhost,$dbuser,$dbpass,$dbname cho phù hợp với thông tin trên host của các bạn là được.

 

 HỖ TRỢ TRỰC TUYẾN