致命错误:无法打开和锁定特权表:表‘mysql.host’不存在

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

我在一台服务器上,重新安装在RHEL 5上。我能够很好地安装Apache和PHP,但是我的MySQL安装遇到了严重的问题。我尝试了以下几点:

yum install mysql-server mysql 

没有任何错误和冲突。然后,我尝试用以下命令启动MySQL:

chkconfig --levels 235 mysqld on
service mysqld start

然后得到Timeout error occurred trying to start MySQL Daemon.

我检查了日志并看到了以下错误:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

我不知道从这里往哪里走。

作为参考,我使用RHEL 5并安装了PHP 5和Apache的最新版本。

提问于
用户回答回答于
  1. 使用yum remove mysql*
  2. 递归删除/usr/bin/mysql/var/lib/mysql
  3. 删除文件/etc/my.cnf.rmp
  4. 使用ps -e检查进程,以确保MySQL没有继续运行。
  5. 重新启动服务器reboot
  6. yum install mysql-server。这似乎也将MySQL客户端安装为依赖项。
  7. 给予MySQL所有权和组奖励,包括:chown -R mysql /var/lib/mysqlchgrp -R mysql /var/lib/mysql
  8. 使用service mysqld start启动MySQL守护进程。
用户回答回答于

chownandchgrp'ing/var/lib/mysql后执行以下命令:

sudo mysql_install_db --user=mysql --ldata=/var/lib/mysql

然后重新启动mysqld...

扫码关注云+社区