CentOS下重置MySQL登陆密码

操作环境:云服务器CentOS7,MySQL5.6。本文在其它环境中理论可行。

问题描述:
忘记mysql登陆密码或输入密码后出现以下情况:

ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: YES)

第一步:vim /etc/my.cnf

[mysqld]中添加skip-grant-tables,用于启动mysql时不启动grant-tables,即授权表。

第二步:重启mysql客户端和服务

service mysql restart
service mysqld restart

第三步:用户无密码登陆

mysql -u root

第四步:修改数据库

use mysql
update user set password=PASSWORD("【新密码】") where User = 'root'

第五步:执行并退出

flush privileges # 可忽略
exit

第六步:删除/etc/my.cnf [mysqld]中的skip-grant-tables

第七步:重启mysql客户端和服务

service mysql restart
service mysqld restart

第八步:使用root账户正常登录

mysql -u root -p

你可能感兴趣的:(CentOS)