天天看点

MySQL5.7忘记root密码解决办法

在window下,

1.关闭MySQL服务。service mysqld stop/或停止phpStudy。

2.在MySQL下的my.ini文件里,在[mysqld]下面增加:skip-grant-tables

注意:这个命令能让MySQL免密码登录

3.启动MySQL,执行>mysql进入MySQL

4.修改密码。

mysql>update mysql.user set authentication_string=password(“新密码”) where user=“用户名”;

5.刷新,立即生效。flush privileges; ,重启MySQL。

5.去掉步骤2在my.ini文件里面添加的skip-grant-tables,否则MySQL还可以免密码登录。重启MySQL。

注意:

(1)执行update mysql.user set password=password(“新密码”) where user=”用户名”会报错:ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’

错误原因:5.7版本的mysql数据库已经没有password这个字段了,这个字段被改成了authentication_stringupdate。

(2)若修改完密码不用命令flush privileges;,使用Navicate时会报错:Your password has expired.To log in you must change it using a client that supports expired passwords.

继续阅读