MySQL 守护进程启动失败

MySQL 守护进程启动失败

当我运行 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

答案1

这些可能是显而易见的建议,但是您的 my.cnf 文件是否包含“ set-variable”?

你试过跑步吗mysql_upgrade

正如我以前多次经历过的痛苦经历一样,总是在任何类型的升级之前备份数据库 — 无论是 MySQL 还是应用程序/框架升级。执行 SQL 转储只需一两分钟,并且可以为您节省数小时甚至数天的麻烦。

答案2

你的 mysql 错误日志显示什么?

如果什么都没有出现,请尝试 strace 启动脚本:

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

这会将启动 MySQL 守护进程时进行的所有系统调用写入文件 strace.output。调试此类问题时,strace 通常很有用。最后几行可能会有用。

希望这可以帮助。

相关内容