2008-09-21 9 views
2

Как включить поддержку inno-db на установленном экземпляре MySql?Как включить поддержку inno-db на MySql 5, установленную выше MySql 4?

У меня установлена ​​mysql-5.0.67-win32. «InnoDB» отключен при запуске «show engines». Согласно документации MySql скомпилирован с поддержкой inno-db (From doc: значение DISABLED происходит либо потому, что сервер был запущен с опцией, которая отключает движок, либо потому, что были предоставлены не все параметры, необходимые для его включения).

В my.ini я прокомментировал строку «skip-innodb». Это не помогло. Все остальные переменные, связанные с inno-db, остаются неизменными.

Я сделал несколько необычных действий, прежде чем я испытал описанную ситуацию. У меня установлен mysql-4.0.17-win. Я удалю его и после этого установил mysql-5.0.67-win32. В мастере установки я выбрал только поддержку MyISAM (насколько я понимаю, я отключил поддержку inno-db таким образом. Когда я попытался переустановить с поддержкой inno-db, у меня возникли проблемы с использованием моей предыдущей базы данных mysql с информацией об учетной записи).

Документация MySQL говорит, что я должен использовать mysqldump для экспорта данных и после этого импортировать экспортированные данные в процессе обновления. Я пытался это сделать, но при импорте данных я получил сообщение о синтаксической ошибке (я думаю, что это связано с некоторыми несовместимостями 4-й и 5-й версий mysql)

ответ

0

Я решил проблему.

Вкратце: Я не смог сбросить базы данных на MySql4 и восстановить его на MySql5 из-за некоторых странных синтаксических ошибок при импорте данных.

Я попытался после установки переопределить базы данных MySql5 со старыми, включая базу данных mysql. Он работает нормально, но я не смог включить поддержку inno-db. (Таким образом, я даже смог использовать функцию PASSWORD для старых паролей (вместо OLD_PASSWORD))

Поскольку структура базы данных 'mysql' изменена в 5-ти версиях, я снова попытался установить MySql5 и скопировал свои старые базы данных, кроме ' mysql 'one. После этого я обновил базу данных «mysql» с исправленной версией экспортированных данных из «mysql». Таким образом, я получил mysql 5.

В конце концов, я также выполнил
mysqlcheck --all-databases --auto-repair
обновить мои таблицы.

P.S. Спасибо авторам всех ответов, которые подсказывают мне правильный путь решения проблемы.

1

Возможно, у вас отключен inno-db глобальный файл конфигурации. В Linux это будет что-то вроде /etc/mysql/my.cnf - возможно, Windows имеет похожий глобальный conf-файл.

+0

Это выглядит так, я обновил вопрос с подробной информацией. – sergtk 2008-09-21 20:39:10

+0

Я прокомментировал строку «skip-innodb». Это не помогает :( – sergtk 2008-09-21 20:50:59

4

Должен быть включен по умолчанию. Существуют ситуации, когда неправильные разрешения на папку с библиотекой MySQL заставляют InnoDB лаять. Проверьте свой журнал ошибок MySQL на наличие ошибок разрешения.

+0

Я отключил его по умолчанию. Я добавлю к этому объяснение причину этого. Разрешение 0. – sergtk 2008-09-22 17:00:10

3

У меня есть следующие варианты innodb в my.ini. Это очень минимальная конфигурация, поэтому не используйте эти значения, если вы хотите, чтобы mysql имел хорошую производительность. Перезагрузите mysql после смены my.ini.

#*** INNODB Specific options *** 
innodb_data_home_dir="C:/mysqldata/" 
#skip-innodb 
innodb_additional_mem_pool_size=120M 
innodb_flush_log_at_trx_commit=1 
innodb_log_buffer_size=16M 
innodb_buffer_pool_size=10M 
innodb_log_file_size=2M 
innodb_thread_concurrency=8 
1

Убедитесь, что вы меняете правильный файл my.ini. В Windows это считывается из многих мест. Заказ:

  1. WINDIR \ my.ini, WINDIR \ my.cnf
  2. C: \ my.ini, C: \ my.cnf
  3. INSTALLDIR \ my.ini, INSTALLDIR \ My. CNF
  4. по умолчанию-экстра-файл

Тип mysql --help в командной строке, чтобы увидеть фактический порядок на вашем компьютере, например:

Параметры по умолчанию читаются с Следующие файлы в этом порядке: C: \ my.ini C: \ my.cnf C: \ WINDOWS \ my.ini C: \ WINDOWS \ my.cnf C: \ Program файлы \ MySQL \ M ySQL Server 5.0 \ my.ini C: \ Program Files \ MySQL \ MySQL Server 5.0 \ my.cnf

0

вы проверили параметры запуска?возможно, сценарий оболочки или командный файл, который вы используете для запуска сервера, отключите двигатель в командной строке. Флаги командной строки IIRC превосходят параметры .ini.