MySQL — online change storage engine.

Достались мне в наследство некоторые MySQL базы. Случайно обратил внимание что таблицы а базе используют MyISAM Engine. Поскольку базы создавались «за царя Гороха», а свежий MySQL Server был жестко оптимизирован конфигом под InnoDB Engine — решено сменить storage engine с MyISAM на InnoDB «на лету».
Делается это очень просто …

Вот листинг баз:

mysql> SHOW DATABASES;
+--------------------+
| DATABASE           |
+--------------------+
| information_schema |
| my_old_db          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 ROWS IN SET (0.00 sec)

mysql>

Переходим в my_old_db и конвертим таблички:

mysql> USE my_old_db;
DATABASE changed
mysql> ALTER TABLE table_posts ENGINE = InnoDB;
Query OK, 590 ROWS affected (1.16 sec)
Records: 590  Duplicates: 0  Warnings: 0

mysql>

Проверить какой storage engine используется можно, например, так:

mysql> SHOW TABLE STATUS;

Иногда полезно знать какие storage engine вообще доступны на mysql сервере:

mysql> SHOW engines;

Хай щастить!

  1. Комментов пока нет

  1. Трэкбэков пока нет.

Why ask?