记录:centos系统,若是忘记MySQLd的root密码,进行找回步骤。
正常情况下,输入 mysql
或 mysql -uroot -p
都是要进行输入密码的,图示:
密码找回步骤:
1,跳过数据库权限验证
# 打开配置文件 vi或vim
vi /etc/my.cnf
找到[mysqld]的末尾处,按 i 键进入insert编辑状态,添加如下命令:
# 找到[mysqld]的末尾处,添加如下命令
skip-grant-tables
然后按 Esc键退出编辑状态,按:wq 保存退出 或:wq!强制保存退出
2,重启mysql
service mysqld restart
3,使用root用户登录mysql,并回车
mysql -uroot -p
# 不用输入密码,直接回车即可进入mysql
4,首先查看当前root用户相关信息,在mysql数据库的user表中
use mysql;
select host, user, authentication_string, plugin from user;
备注:
- host::允许用户登录的ip‘位置’%表示可以远程;
- user:当前数据库的用户名;
- authentication_string:用户密码;在mysql 5.7.9以后废弃了password字段和password()函数;
- plugin: 密码加密方式;
5,如果当前root用户authentication_string字段下有内容,先将其设置为空(可跳过此步)
use mysql;
update user set authentication_string='' where user='root';
再次查看root用户authentication_string字段已经空了
6,修改root用户密码
update mysql.user set authentication_string=password('123456789') where user='root';
密码修改成功,图示:
7,刷新权限并退出
flush privileges;
quit;
8,将mysql的配置修改过来
vim /etc/my.cnf
# 将skip-grant-tables删除或注释掉
9,重启mysql,并使用root用户和新密码登录
service mysqld restart
mysql -uroot -p123456789
到此就结束了。