Я пытаюсь включить InnDB на своем сервере Linux. Я установил Ubuntu 10.04 JeOS на сервер ESX. Затем я установил mySQL и tomcat, используя aptitude. Однако когда я использую SHOW ENGINES; в mySQL не похоже, что InnoDB был установлен. Затем я попытался следовать указаниям в документации. http://dev.mysql.com/doc/refman/5.1/en/innodb.html Однако при попытке включить плагин я получаю следующее:
ОШИБКА 1123 (HY000): не удается инициализировать функцию InnoDB; Не удалось выполнить функцию инициализации плагина.
Я был бы признателен за совет, как подойти к этой проблеме.
Я была такая же проблема. В 10.04 apparmor не позволяет MySQL читать плагины InnoDB. Добавьте следующие строки в /etc/apparmor.d/usr.sbin.mysqld
:
/ usr / lib / mysql / plugin / r, / usr / lib / mysql / plugin / * мистер,
Затем перезагрузите apparmor и перезапустите службу MySQL.
Похоже, что версия пакета mysql для Jeos решила не компилировать innodb в двоичные файлы по какой-либо причине. Не знаю почему, на моем рабочем столе 10.04 он включен. В любом случае, по умолчанию my.cnf не включает плагин.
Предполагая, что файлы плагина innodb (ha_innodb_plugin.so и т. Д.) Находятся в / usr / lib / mysql / plugins, вы можете следовать приведенным ниже инструкциям, чтобы включить его.
http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation-dynamic-posix.html
Если подключаемые модули innodb не находятся в этом каталоге, вам, вероятно, следует попробовать установить обычный mysql .deb Ubuntu или получить пакет прямо с dev.mysql.com.
Если указано, прокомментируйте skip-innodb
в вашем my.cnf и перезапустите MySQL.
Это настройки, которые my-large.cnf
пример конфигурации обеспечивает, что можно указать для включения InnoDB:
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/data/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql/data/
#innodb_log_arch_dir = /usr/local/mysql/data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 256M
#innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 64M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
Если вы включите innodb_data_file_path или измените значение, Innodb не будет включен. Поэтому вам нужно остановить mysql и удалить файлы данных. Затем он начнется с новыми настройками размера файла, которые вы выбрали:
sudo rm /var/lib/mysql/ib* (WARNING this deletes the database)
sudo /etc/init.d/mysql start
service mysql status to check if running
Query ENGINES for Innodb to be YES.
К сожалению, я не знаю, как сделать Innodb по умолчанию в Mysql 5.1.61 в Ubuntu 10.04.