mysql5.5 报Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

时间:2022-09-20 08:34:49

通过yum 的webstatic源安装的mysql55w-server,然后用service mysqld start启动时报

MySQL Daemon failed to start.
Starting mysqld: [FAILED]

的错误

tail -f /var/log/mysqld.log 查看mysqld日志发现报错原因是Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

之后通过运行mysql_install_db命令初始化书库解决问题

 

完了之后,通过mysqladmin -u root password 123456这样的命令来指定root账号的密码

 

 如果忘记密码的话,可以:

service mysqld stop

mysqld_safe --user=root --skip-grant-tables

mysql -u root

use mysql

update user set password=password("new_pass") where user="root";

flush privileges;

来重新设置密码

 

附注:

一、mysql安装的时候,有一步是mysql_install_db --user=mysql,查了下是生成授权表,请问生成授权表的作用是什么?

答:1.生成授权表实际上是完成了mysql的初始化。你在执行这个脚本之后,mysql里就会出现名为mysql的库。mysql库里有常用的权限表等系统表。比如设置用户权限的user表。

      2.后面的参数--user所指定的用户是你想要运行mysqld进程用户名。这个是可变的,不一定非要是mysql。设置这个用户以后,所有通过mysqld进程创建的文件都会属于这个用户。网上的教程里多用mysql用户是为了在生产环境中更方便管理。

 

二、安装webstatic源

Centos 5.X
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

 

三、向服务器上传文件可以用rz命令;从服务器获取文件可以用sz命令