Как установить MyISAM в качестве обработчика таблицы по умолчанию в MySQL? - PullRequest
3 голосов
/ 25 июня 2011

Я хочу, чтобы все мои таблицы и вся база данных использовали движок MyISAM.

Мой проект использует исключительно базу данных MyISAM.

Я хочу, чтобы обработчик таблиц по умолчанию для всех таблиц был MyISAM.

Ответы [ 3 ]

10 голосов
/ 25 июня 2011

ОБНОВЛЕНИЕ: InnoDB был механизм хранения по умолчанию с MySQL 5.5.5. MyISAM теперь унаследован, но все еще существует.

Также опция default-table-type была синонимом default-storage-engine и была удалена в MySQL 5.5. И, начиная с MySQL 5.6.3, механизм хранения по умолчанию устанавливает механизм хранения только для постоянных таблиц.


Чтобы узнать, что в данный момент делает ваш механизм хранения по умолчанию: mysql> SHOW engine; MyISAM уже давно используется по умолчанию, но кто-то мог его изменить.

Чтобы изменить механизм хранения по умолчанию обратно на MyISAM, поставьте

default-table-type=myisam

в разделе [mysqld] вашего my.cnf и перезапустите mysqld.

Чтобы изменить существующие таблицы обратно на MyISAM, выполните:

ALTER TABLE tbl_name ENGINE=MyISAM;

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

SHOW CREATE TABLE tbl_name; or SHOW TABLE STATUS LIKE 'tbl_name'\G
1 голос
/ 25 июня 2011

MyISAM - это механизм хранения по умолчанию. Однако, если это не так, вы можете выполнить одно из следующих действий:

  1. измените его, используя --default-storage-engine во время запуска сервера MySQL,
  2. , установив default-storage-engine в файле конфигурации my.cnf
  3. путем установки переменной env:

SET GLOBAL storage_engine = MyISAM;

SET SESSION storage_engine = MyISAM;
0 голосов
/ 06 февраля 2017

Для MySQL 5.7 добавьте эту строку:

default-storage-engine=INNODB

в my.ini или my.cnf.

Официальная документация здесь: https://dev.mysql.com/doc/refman/5.7/en/storage-engine-setting.html

Это сработало для меня в WAMP 3.0.6 с MySQL 5.7.14, который поставляется с MyISAM по умолчанию из коробки, хотя MySQLДокументация гласит: «Движок по умолчанию - InnoDB в MySQL 5.7».

Это объясняется разработчиками WAMP:

«Мы тратили слишком много времени на вопросы о повреждении базы данных INNODB.

Мы верили, что это произошло из-за того, что люди, использующие базы данных INNODB, не понимали, что эти таблицы более сложны. Они просто закрывали окна и закрывали задания при завершении работы, прежде чем MYSQL имел возможность полностью завершить работу всех своих баз данных иКонечно, никогда не делалось резервное копирование баз данных, которые когда-то были повреждены, внезапно стали самой важной вещью в их жизни.

Поэтому мы решили сделать ядро ​​базы данных по умолчанию MYISAM, поскольку с этими таблицами это случается реже. "

...