升级后无法启动MySQL

我使用yum在CentOS服务器上升级了MySQL

# mysql --version mysql Ver 14.14 Distrib 5.1.52, for redhat-linux-gnu (x86_64) using readline 5.1 

我运行service mysqld start并获取错误日志中的以下错误(之后它告诉我,MySQL无法启动):

 110405 10:10:51 mysqld_safe Starting mysqld daemon with databases from /mnt/persistent/mysql /usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist 110405 10:10:51 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 110405 10:10:51 InnoDB: Started; log sequence number 30 391318478 110405 10:10:51 [ERROR] /usr/libexec/mysqld: unknown variable 'innodb_log_arch_dir=/mnt/persistent/mysql/' 110405 10:10:51 [ERROR] Aborting 110405 10:10:51 InnoDB: Starting shutdown... 110405 10:10:56 InnoDB: Shutdown completed; log sequence number 30 391318478 110405 10:10:57 [Note] /usr/libexec/mysqld: Shutdown complete 110405 10:10:57 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 

所以,我像第三行说的那样运行mysql_upgrade 。 但是,这给出了错误:

 # mysql_upgrade Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/lib/mysql/mysql.sock' mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) when trying to connect FATAL ERROR: Upgrade failed 

我认为有一些循环:我不能启动mysqld而不运行mysql_upgrade而且我不能在没有运行mysqld情况下运行mysql_upgrade

有任何想法吗?

从4.0.6开始,variablesinnodb_log_arch_dir就没有使用

如果你评论出来

 #innodb_log_arch_dir=/mnt/persistent/mysql/ 

在你的my.cnf

mysqld应该成功启动。