忘记MySQL数据库root密码,使用安全模式巧妙重置密码

忘记MySQL的root登录密码这种事情还是会发生的,很不幸,这事今天被我遇到了,顿时不知道怎么办了!百度了好一阵,上面的各种方法都使用了一遍,还是不奏效!可能是老办法对于新版的MySQL已经不奏效了!在这里不得不吐槽一下坑爹的百度!不过这些资料还是有用的,结合这些资料,再经过的自己的思考,终于弄出了解决方案。

一、查找mysql进程,找到2个进程,全部kill了。

[root@mysql bin]# ps -ef |grep mysqld
[root@mysql bin]# kill 4702
[root@mysql bin]# kill 4960

二、进入安全模式。

[root@mysql ~]# cd /usr/local/mysql/bin/
[root@mysql bin]# ./mysqld_safe --skip-grant-tables &

三、无密码进入数据库。输入以下命令,直接按回车键进入MySQL数据库。

[root@mysql bin]# mysql -u root -p
Enter password: 

四、修改密码。

mysql> use mysql;
mysql> update user set authentication_string='*1DC567F0B76FD458616E892F7340D3C02E69BC70' where user='root';
mysql> flush privileges;
mysql> quit;

字符串“*1DC567F0B76FD458616E892F7340D3C02E69BC70”的明文密码为:"Geeklp-mysql",下次登录时使用这个密码即可成功登录。可以直接复制这个更新语句,也可以从别的库复制自己知道明文密码的字段。

五、退出,重新使用新密码登录数据库,如需自定义密码按照正常修改密码流程进行操作!所以步骤全部完成!

mysql> set password=password("Geeklp-mysql");
mysql> flush privileges;
mysql> quit;


你可能感兴趣的:(MySQL)