表'mysql.host'不存在

100913 10:21:29 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql /usr/local/mysql/libexec/mysqld: Table 'mysql.plugin' doesn't exist 100913 10:21:29 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 100913 10:21:29 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 100913 10:21:29 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 

这是当我尝试用mysqld_safe命令启动mysqld时得到的mysqld日志文件的输出。 我试图运行mysql_upgrade来纠正第一个错误,但这个命令似乎要求服务器启动,这是我原来的问题。

接下来,它表示mysql.host表不存在。 我无法弄清楚这是由什么引起的。

你最近升级了MySQL吗? 理想情况下,你将有一个SQL转储,你可以从中导入(mysql_upgrade从来没有非常可靠的经验)。 还有,那桌innodb? 如果是这样,检查你没有configuration你的my.cnf跳过innodb。 如果一切都失败了,请备份,重新安装,启动MySQL,然后将文件放入/ var / lib / mysql,然后加载并尝试修复。