Перейти к содержанию
IPS Invision Community 🇷🇺

Быстрая конвертация таблиц из MyISAM в InnoDB


Sipsb

Рекомендуемые сообщения

Перед любыми манипуляциями ОБЯЗАТЕЛЬНО сделать резервный дамп БД. Ели в процессе конвертации в каких-то таблицах будут обнаружены FULLTEXT-индексы, эти таблицы не будут затронуты и останутся без изменения. Дело в том, что FULLTEXT поддерживается только в MyISAM.

Чтобы получить все таблицы MyISAM в вашей базе данных. Выполните этот запрос:

Замените значение переменной name_of_your_db на ваше имя базы данных.

SET @DATABASE_NAME = 'name_of_your_db';

SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM    information_schema.tables AS tb
WHERE   table_schema = @DATABASE_NAME
AND     `ENGINE` = 'MyISAM'
AND     `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Затем скопируйте вывод и запустите его как новый запрос SQL. Если что-то не понятно, смотрите видео.

 

  • Нравится 2
  • Спасибо 1
Ссылка на комментарий
  • 2 года спустя...

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти
×
×
  • Создать...
Вверх
Вверх