说明
只有操作系统的root 才能恢复数据库管理员的密码
vim /etc/my.cnf
[mysqld]
skip-grant-tables 增加一行,免密登陆
注释掉密码长度限制
重启mysql 服务
systemctl restart mysqld
再次登陆mysql,不需要密码即可登陆
mysql -uroot -p
修改root密码为新密码
show databases;
use mysql;
select host,user,authentication_string from user where host="localhost" and user="root";
update user set authentication_string=password("XXX") where host="localhost" and user="root"
flush privileges;
exit
重置密码后,再把配置文件改回原样
在系统命令行改密码
mysqladmin -hlocalhost -uroot -p password "XXXXXX"(新密码)
根据提示输入原密码后,即可以更改新密码成功
注意,在命令行修改密码是有明文记录的,不安全。