Summary: | Проблемы с default-storage-engine = InnoDB | ||
---|---|---|---|
Product: | Branch p6 | Reporter: | Dank Bagryantsev <4alt> |
Component: | MySQL-server | Assignee: | Andrey Cherepanov <cas> |
Status: | CLOSED FIXED | QA Contact: | QA p6 <qa-p6> |
Severity: | normal | ||
Priority: | P3 | CC: | hiddenman, jackie.rosen, mike, rider, vsu |
Version: | не указана | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 26742 |
Description
Dank Bagryantsev
2011-09-05 03:28:14 MSK
Надо скопировать в p6 из t6 (можете тем временем поставить вручную и лишний раз проверить): * Tue Apr 24 2012 Michael Shigorin <mike@altlinux.org> 5.1.62-alt0.M60T.1 - built for M60T * Fri Mar 23 2012 Michael Shigorin <mike@altlinux.org> 5.1.62-alt1 - 5.1.62 - /dev/urandom tweaks - spec cleanup * Wed Mar 21 2012 Michael Shigorin <mike@altlinux.org> 5.1.61-alt2 - create /dev/urandom in chroot so SSL support actually works; thanks naf@ (closes: #27100) * Thu Jan 12 2012 Michael Shigorin <mike@altlinux.org> 5.1.61-alt1 - 5.1.61 * Fri Dec 30 2011 Michael Shigorin <mike@altlinux.org> 5.1.60-alt2 - please note that 5.1.50-alt1 introduced modular InnoDB support thus the plugin must be loaded if it's supposed to be used Возможно, есть смысл собрать 5.1.68 для начала в t6... (In reply to comment #0) > Installation of system tables failed! Ещё возможно, что придётся для 5.1.x доработать mysql_install_db для поддержки вот такого вот innodb, который в 5.5.x откатили из модулей назад. (В ответ на комментарий №1)
> Надо скопировать в p6 из t6 (можете тем временем поставить вручную и лишний раз
> проверить):
#90406 TESTED #1 [test-only] p6 copy=MySQL
[root@main ~]# tail -n2 /var/lib/mysql/my.cnf
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so
[root@main ~]# service mysqld restart
Sending TERM signal to mysqld: [ DONE ]
Waiting, while mysqld actualy stopped: [ DONE ]
Adjusting environment for mysqld: [ DONE ]
Starting mysqld service: [ DONE ]
[root@main ~]# service mysqld status
mysqld is dead, but subsystem is locked
Не работает.
Не удалил все процессы. После этого всё запустилось и выдало InnoDB в show plugins; Соответственно, таблицы с явным прописыванием ENGINE=InnoDB в CREATE TABLE создаются и показывают engine в show table status. Проверьте задание под p6: apt-repo add task 90406 apt-get update apt-get dist-upgrade Если всё устроит, отправлю в p6. При этом строка default-storage-engine = InnoDB всё также не даёт запустить mysqld. Разбираясь с аналогичной проблемой, пришел пока к таким выводам: 1. В документации и во всех советах в интернете для установки default storage engine в MySQL 5.1 (любом) нужно прописать default-storage-engine=InnoDB. У всех это работает и ничего не ругается 2. В нашей сборке (mysqld из t6, 5.1.62, кажется), при установке этого параметра ругается именно наш скрипт-обвязка вокруг mysqld. Которая /usr/sbin/mysql_install_db: Installation of system tables failed! Но при этом mysqld запускается, default storage engine становится InnoDB и вроде как всё работает. Судя по тому, что никто в "этих ваших интернетах" не жалуется на такую проблему вообще, проблема в наших скриптах. Такое моё предположение, доказать пока нет времени, вчера только немного позанимался этим. Действительно, в p6 попытка установить default-storage-engine=InnoDB в файле /var/lib/mysql/my.cnf приводит к ругани при запуске сервера, поскольку скрипт /usr/sbin/mysql_install_db вызывает mysqld с опцией --skip-innodb, которая несовместима с default-storage-engine=InnoDB вне зависимости от наличия или отсутствия параметра ignore-builtin-innodb. При этом ругань не мешает последующему запуску сервера, если системные таблицы на самом деле уже были созданы. Способ установки InnoDB по умолчанию, работающий в p6 - указывать этот параметр в /etc/sysconfig/mysqld: OPT="--default-storage-engine=innodb" Что касается системных таблиц - они и должны быть в формате MyISAM, это указано в документации MySQL: http://dev.mysql.com/doc/refman/5.1/en/converting-tables-to-innodb.html Пакет пропускаем при условии последнего замечания? В p6 сейчас MySQL-5.1.62, в котором при задании default-storage-engine=InnoDB в my.cnf демон mysqld всё же запускается. Осталась одна косметическая проблема при создании баз данных (а именно в /usr/sbin/mysql_install_db нужно убрать перестраховочный --skip-innodb [в p6 и Sisyphus/p7]). работает. |