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

MySQL Daemon не запустился

Когда я запускал yum update, обновлений не было. Я пытался установить php-soap (который не удался), и в Интернете я обнаружил, что должен запустить это:

wget -q -O - http://www.atomicorp.com/installers/atomic.sh |sh

После этого команда "yum install php-soap" успешно запустилась. Затем я запустил yum update, просто чтобы проверить наличие обновлений, и сказал да для некоторых пакетов. Я заметил, что были некоторые mysql и тому подобное. Теперь mysql больше не запущен и не позволяет мне его запустить (я получаю «MySQL Daemon не удалось запустить»)

Идеи?

Вот часть моего mysql.log:

100616 16:37:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] option 'innodb-additional-mem-pool-size': signed value 512000 adjusted to 524288
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Note] Plugin 'ndbcluster' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
100616 16:37:53 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100616 16:37:53  InnoDB: Started; log sequence number 0 1650102
100616 16:37:53 [ERROR] /usr/libexec/mysqld: unknown option '--skip-bdb'
100616 16:37:53 [ERROR] Aborting

100616 16:37:53  InnoDB: Starting shutdown...
100616 16:37:58  InnoDB: Shutdown completed; log sequence number 0 1650102
100616 16:37:58 [Note] /usr/libexec/mysqld: Shutdown complete

что показывает ваш журнал ошибок mysql?

Если ничего не появляется, попробуйте настроить сценарий запуска:

strace -f -o strace.output /etc/init.d/mysql.server start

Это запишет в файл strace.output все системные вызовы, сделанные при запуске демона MySQL. strace обычно полезен при отладке такого рода проблем. Последние несколько строк могут быть полезны.

Надеюсь это поможет.

Это могут быть очевидные предложения, но содержит ли ваш файл my.cnf "set-variable"?

И ты пробовал бежать? mysql_upgrade?

Как я уже много раз узнал на собственном горьком опыте - всегда всегда сделайте резервную копию баз данных перед любым типом обновления - будь то обновление MySQL или приложения / инфраструктуры. Создание дампа SQL займет всего минуту или две, и это может сэкономить часы или даже дни головной боли.