MySQL-001、MySQL8找回root用户密码的解决方案
2020-05-23 本文已影响0人
Docker_Compose
一、停止MySQL的服务
net stop mysql
二、设置跳过验证
- 进入到mysql安装目录下的bin路径,在mysql/bin/目录下输入命令
mysqld --shared-memory --skip-grant-tables
注意:一定要有–shared-memory,否则无法正常设置–skip-grant-tables并启动mysql服务
- 正常情况下,输完这条命令,该命令行窗口应该卡住不动
三、设置无密码登录
- 新开一个CMD窗口,进入到mysql安装目录下的bin路径,无需重复启动mysql服务,在mysql/bin/目录下输入命令:
mysql
- 此时应该可以连接成功
四、重置root密码为空
- 在第三步的CMD窗口中输入命令:
update mysql.user set authentication_string='' where User = 'root';
注意:这里需先置为空密码,否则无法登陆
五、退出所有命令行,重新登陆数据库
- 登陆数据库命令:
# 因为已经设置了无密码,所以输入密码那一步,直接OK就可以跳过了
mysql -uroot -p
# 使用mysql 数据库
use mysql ;
# 查看root的密码
select user,host from user ;
# 更改root用户的密码
alter user'root'@'%'identified with mysql_native_password by '123456';
# 刷新数据库
flush privileges;
# 退出mysql
exit;
注意:若显示服务未启动,需先启动MySQL服务,输入:
net start mysql
- 完成以上一系列的操作后,root用户用新密码即可登陆MySQL数据库