Подтвердить что ты не робот

Изменить mysql default engine на innodb

Я использую mac, и я установил mysql с помощью homebrew.

brew install mysql

довольно стандартная установка.

mysql> show engines;
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
+------------+---------+------------------------------------------------------------+--------------+------+------------+

Я бы хотел, чтобы innodb был механизмом хранения по умолчанию. Что мне нужно сделать?

4b9b3361

Ответ 1

В разделе [mysqld] в вашем ini файле добавьте:

default-storage-engine = innodb

Обычно /etc/my.cnf, но не уверен в Mac.

Из docs:

В Unix, Linux и Mac OS X программы MySQL считывают параметры запуска из следующих файлов в указанном порядке (сначала используются верхние элементы).

File Name   Purpose

/etc/my.cnf          Global options
/etc/mysql/my.cnf    Global options (as of MySQL 5.1.15)
SYSCONFDIR/my.cnf    Global options
$MYSQL_HOME/my.cnf   Server-specific options
defaults-extra-file  The file specified with --defaults-extra-file=path, if any
~/.my.cnf            User-specific options

Последний никогда не используется демоном.

Ответ 2

Из phpMyAdmin я могу видеть, что MySQL имеет базу данных с именем information_schema и содержит таблицу с именем ENGINES. Помимо более глобального сценария изменения INI файла, не было бы простым решением переключить таблицы SUPPORT для MyISAM и InnoDB (на "YES" и "DEFAULT" соответственно)? Я не делал этого сам, поэтому продолжайте на свой страх и риск... и дайте мне знать, как все получится, если вы это сделаете.