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

Как отключить innodb в mysql?

Я добавил строку 'skip_innodb' в файл my.cnf, чтобы отключить innodb и перезапустить mysqld. Но это не работает в базе данных. Есть ли альтернативные решения?

4b9b3361

Ответ 1

Добавьте skip-innodb в [mysqld] в my.cnf, а затем restart сервер MySQL

См. файл журнала mysql для успеха с помощью tail -100 log_file_name_with_full_path

Проверить, используя следующий запрос:

SHOW ENGINES;

Ответ 2

Если вы используете MySql 5.5 или выше,

ignore-builtin-innodb

и

default-storage-engine = myisam

под

[mysqld]

в /etc/my.cnf

Ответ 3

Try

innodb=OFF
default-storage-engine=MyISAM

MyISAM - это всего лишь пример, который вы можете выбрать там, где захотите Вы можете подробнее прочитать здесь http://www.webhostingtalk.com/showthread.php?t=1052143

Ответ 4

Для mysql 5.6+

У Iv'e возникли трудности с попыткой применить другие ответы. Это то, что я нашел лучше всего с mysql 5.6.19

1) изменить /etc/mysql/my.cnf

- ВАЖНО - поместите эти значения под [mysqld]

# ... other settings
[mysqld]

innodb=OFF
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0

default-storage-engine=MyISAM
default_tmp_storage_engine=MyISAM

# ...

2) перезапустить mysql

sudo service mysql restart

Источник: MySQL docs - 14.1.3 Отключение InnoDB


Как насчет миграции?

если вы хотите перенести существующую базу данных с InnoDB на MyISAM, вышеуказанное as-is не влияет на существующие таблицы (и даст вам время выполнения ошибки).

Решение

существует утилита под названием mysqldump, которая хранит существующие таблицы базы данных + данные в файле (SQL script)

1) резервная копия

mysqldump -u [user] -p[pass] [database name] > /tmp/backup.sql

2) измените /etc/mysql/my.cnf, как показано выше

nano /etc/mysql/my.cnf

# ...
[mysqld]

innodb=OFF
loose-innodb-trx=0
loose-innodb-locks=0
# ...

3) перезапустить mysql

sudo service mysql restart

4) перезагрузить данные с 1-го шага

mysql -u [user] -p[pass] [database name] < /tmp/backup.sql

Ответ 5

В MySQL 5.5+ требуемый фрагмент конфигурации будет следующим:

[mysqld]
skip-innodb
default-storage-engine = myisam