hosting:php:scripts:mysql-engine-convert

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

(Требования: PHP 5+)

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

Не рекомендуется использовать этот способ для больших баз данных.
  1. <?php
  2. $DB = array(
  3. 'host' => 'example.mysql.tools',
  4. 'user' => 'example_db',
  5. 'password' => 'xxxxxxxxxx',
  6. 'database' => 'example_db',
  7. 'engine' => 'InnoDB'
  8. );
  9. $link = mysqli_connect($DB['host'], $DB['user'], $DB['password'], $DB['database']);
  10. $sql = "SHOW TABLES";
  11. $query = mysqli_query($link, $sql);
  12. while ($row = mysqli_fetch_assoc($query)) {
  13. if (mysqli_query($link, "ALTER TABLE `".$row['Tables_in_'.$DB['database']]."` ENGINE = ".$DB['engine'])) {
  14. echo $row['Tables_in_'.$DB['database']]." ok<br>";
  15. } else {
  16. echo $row['Tables_in_'.$DB['database']]." error<br>";
  17. }
  18. }

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

  1. host — сервер баз данных.
  2. user — имя пользователя базы данных.
  3. password — пароль пользователя баз данных.
  4. database — название базы данных.
  5. engine — целевой тип хранилища на который будут изменены все таблицы.

Альтернативные способы изменения типа хранилища описаны здесь.

  • hosting/php/scripts/mysql-engine-convert.txt
  • Последние изменения: 2019/09/06 15:27
  • — zinenko