Как изменить default-storage-engine в MySQL

При создании таблицы используется опция ENGINE, которая указывает механизм хранения, если эта опция не указана в SQL запросе, то используется механизм хранения по умолчанию, который указан в файле конфигурации MySQL сервера либо при его запуске mysqld —default-storage-engine=InnoDB.

Приведу пример просмотра поддерживаемых механизмов хранения и который указан по умолчанию.

SELECT engine, support, transactions, xa FROM information_schema.engines;
SELECT * FROM information_schema.ENGINES\G;

Пример указания механизма хранения по умолчанию в файле конфигурации MySQL сервера (innodb обычно используется по умолчанию):

[mysqld]
default-storage-engine=innodb

Пример изменения механизма хранения безе перезапуска MySQL сервера (но чтобы изменение не сбросилось после перезапуска, его необходимо также указать в файле конфигурации как я показал выше):

SET GLOBAL storage_engine=INNODB;
SET storage_engine=INNODB;

Пример преобразования таблицы из одного механизма в другой (рекомендую всегда делать резервные копии перед важными изменениями):

ALTER TABLE ixnfo_com ENGINE = InnoDB;

Если указать механизм хранения который не поддерживается, то будет использован тот что указан по умолчанию, например при использовании репликации когда одни серверы поддерживают этот механизм хранения, а другие нет.

Смотрите другие мои статьи про MySQL

Оставьте комментарий

Добавить комментарий