Как включить поддержку inno-db в MySQL 5, установленном поверх MySQL 4?

StackOverflow https://stackoverflow.com/questions/112010

  •  02-07-2019
  •  | 
  •  

Вопрос

Как включить поддержку inno-db на установленном экземпляре MySQL?

Я установил mysql-5.0.67-win32."InnoDB" "ОТКЛЮЧЕН" при запуске "show engines".Согласно документации MySQL скомпилирован с поддержкой inno-db (Из doc:Значение ОТКЛЮЧЕНО возникает либо потому, что сервер был запущен с опцией, которая отключает движок, либо потому, что были заданы не все параметры, необходимые для его включения.)

В моем файле.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)

Это было полезно?

Решение 6

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

Короче говоря:Мне не удалось создать дамп базы данных на MySQL4 и восстановить его на MySQL5 из-за некоторых странных синтаксических ошибок при импорте данных.

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

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

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

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

Другие советы

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

У меня есть следующие параметры innodb в моем файле.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

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

Убедитесь, что вы меняете правильный файл 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 Файлы\MySQL\Сервер MySQL 5.0\my.cnf

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top