2.8.1.3. Конвертация хранилища всех таблиц

Внимание!

Не рекомендуется использовать этот способ для больших баз данных.

Для изменения типа хранилища всех таблиц базы данных можно запустить скрипт, который выполнит необходимый SQL-запрос для каждой отдельной таблицы.

<?php
$DB = array(
    'host' => 'example.mysql.tools',
    'user' => 'example_db',
    'password' => 'xxxxxxxxxx',
    'database' => 'example_db',
    'engine' => 'InnoDB'
);
$link = mysqli_connect($DB['host'], $DB['user'], $DB['password'], $DB['database']);
$sql = "SHOW TABLES";
$query = mysqli_query($link, $sql);
while ($row = mysqli_fetch_assoc($query)) {
    if (mysqli_query($link, "ALTER TABLE `".$row['Tables_in_'.$DB['database']]."` ENGINE = ".$DB['engine'])) {
        echo $row['Tables_in_'.$DB['database']]." ok<br>";
    } else {
        echo $row['Tables_in_'.$DB['database']]." error<br>";
    }
}

В скрипте используйте свои данные для подключения к базе данных:

  • host — сервер баз данных.
  • user — имя пользователя базы данных.
  • password — пароль пользователя базы данных.
  • database — название базы данных.
  • engine — тип хранилища, который нужно установить.
Содержание