我在开发过程中碰到了一个说来也是很无语的问题
我把 MySQL root用户的密码给忘了。。。
当时试了好多密码都不合适,所以我索性去百度怎么解决这个问题
然后果然找到了,特此记录如下:
首先 cd 到mysql安装目录下的bin目录
在这里进入cmd,然后键入
mysqld --skip-grant-tables # 让mysql跳过权限检查
然后再win+r打开另外一个cmd窗口
mysql -u root -p
这时候不需要密码直接可以进入
先切换到存放账户数据的mysql数据库
use mysql; # 注意sql语句结束必须有 ;
然后进行改密操作
update user set password=PASSWORD('新密码') where user='root';
但是很奇怪的是,竟然报错了!!!
我复制报错信息接着去百度,这时候发现了一条很重要的信息
5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
我恍然大悟
再次更改密码
update mysql.user set authentication_string=password('新密码') where user='root';
果然这次成功了,但是别激动,下一步我们得刷新权限让更改立即生效
flush privileges;
退出数据库
quit;
这样root用户的密码就修改完成了,最后关闭之前开启的让mysql跳过权限检查的cmd窗口即可
该方法同样可以更改其他普通用户的密码