感谢大佬:https://blog.csdn.net/weixin_43054397/article/details/90721094
MySQl忘记密码怎么办?
我们在安装使用MySQl 时,有时可能避免不了忘记密码,如果你忘记密码,可以按照如下方案进行操作:
- 找到my.ini 文件
my.ini 文件为 MySQl 设置文件, 如果你是默认的安装地址,文件在 C:ProgramDataMySQLMySQL
Server 5.7 下 但是ProgramData 常规状态下是隐藏的 - 设置权限认证跳过 也就是在 [mysqld] 下 加上 skip-grant-tables
skip-grant-tables
- 重启 mysql 服务 这里可以直接在命令行中连续输入 或者在服务里找到mysql 服务重启
net stop mysql
net start mysql
重启后, 以 mysql -uroot -p 登陆
会发现我们可以不需要密码就可以登陆
mysql -uroot -p
- 重新设置密码 首先先选择 mysql 数据库
use mysql
然后更新 password
update user set authentication_string = password ( 'new-password' ) where user = 'root' ;
-- 或者
-- set password for 'root'@'localhost'=password('新密码');
--flush privilegs; 刷新数据库
会报错: ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’;
原因是 mysql 数据库下已经没有password 字段了,password 字段改成了 authentication_string
- 在 my.ini 文件中去掉 加上的 skip-grant-tables
- 重启 mysql 服务
- 以新密码登陆