我使用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应该成功启动。