博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

MySQL 忘记 root密码 处理方法

原文:互联网老辛 https://blog.51cto.com/xinsz08/1859063

mysql 版本不同,修改密码的方法大同小异,但是有一定的区别:

vim /etc/my.cnf
加上 skip-grant-tables 
systemctl restart mysqld
mysql
update mysql.user set authentication_string = password('123456') where user = 'root' ;
quit;
vim /etc/my.cnf
去掉 skip-grant-tables 
systemctl restart mysqld

mysql 5.1

1.确认没有人能够连接 MySQL 数据库。

2.修改MySQL的登录设置:

vim /etc/my.cnf

在 [mysqld] 的段中加上一句:

skip-grant-tables

保存并且退出

3.重新启动 

systemctl restart mysqld

4.修改 MySQL 的 root 密码

mysql;
use mysql;
update user set password = password ( '123456' ) where user = 'root' and host = 'localhost';
flush privileges ;
quit;

5.7 版本的数据库下的 user 表里面已经没有 password 了
而是将加密后的用户密码存储在 authentication_string 字段下面

update mysql.user set authentication_string = password('123456') where user = 'root' and host = 'localhost';

5.将MySQL的登录设置修改回来

vim /etc/my.cnf

将刚才在 [mysqld] 的段中的 skip-grant-tables 删除

6.重新启动mysqld

systemctl restart mysqld;

7.如果操作功能不完全,登录数据库:

mysql -p
alter mysql.user 'root'@'localhost' identified by '123456';
select user,host,create_priv,super_priv,grant_priv,password_last_changed,account_locked from mysql.user;
flush privileges;
quit;

----------------------------------
互联网老辛
https://blog.51cto.com/xinsz08/1859063

posted @ 2022-08-12 10:40  CHANG_09  阅读(654)  评论(0编辑  收藏  举报