问题描述
在win10安装mysql中,初始化时忘记保存root的初始密码,导致无法登陆,网络中大部分修改方式主要针对mysql5的解决方案,对8.0以上版本不适用,会报错。
解决方法:
1. 关闭mysql
使用管理员权限打开命令提示符,进入mysql的bin路径,在命令行中输入:
net stop mysql
2. 跳过权限
待mysql服务停止后,输入:
mysqld --shared-memory --skip-grant-tables
此时命令提示符窗口处于锁定状态
我们重新以管理员权限打开新的命令提示符窗口。
3. 跳过权限
在新的命令提示符窗口输入:
mysql -uroot -p
后回车,提示输入密码时直接按回车进入。
4.使用mysql库
输入:
use mysql;
5.更新root密码为空
输入:
update user set authentication_string='' where user='root';
将authentication_string置空(两个单引号)。
注:在mysql8.0以上版本
update mysql.user set password=‘newpassword’ where user=‘root’;
update mysql.user set password=PASSWORD(‘newpassword’) where User=‘root’;
这两条命令已经不起作用了。
6.设置新密码
输入:
alter user 'root'@'localhost' identified by 'newpassword';
newpassword是要设的新密码。
7.刷新数据
如果提示设置成功,则输入:
flush privileges;
完成后Ctrl+Z退出mysql,使用新密码重新登录即可。
注:此步骤切不可省略