Назад | Перейти на главную страницу

Невозможно включить InnoDB в mySQL в Ubuntu 10.04

Я пытаюсь включить 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.