Mysql忘记密码,重置密码遇到的问题记录

Mysql版本8.0.18

1、打开DOS窗口,执行net stop mysql;

2、输入命令mysqld --console --skip-grant-tables --shared-memory,跳过授权;

 

3、另开个DOS窗口,之前的DOS窗口不要动,输入mysql 进入mysql服务,输入use mysql进入mysql数据库,然后进行密码更新 ,先说我成功修改的方法

先输入:flush privileges;

再输入:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

这里123456就是新密码

 

4、最后再启动mysql,net start mysql

 

遇到的问题:

1、参考其他博主说第三步的命令可以用  update user set password=password('123456') where user='root' and host='localhost';  但是我这边不行,会报错

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(“123456”) where user=“root”’ at line 1

2、如果不先flush privileges; 直接ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';也会报错,所以要先flush privileges;刷新权限

 

补充扩展问题:

更新密码之后,我用Navicat工具登录的时候报错

解决方法就是修改密码的加密方式

1、查看一下加密方式

输入:show variables like 'default_authentication_plugin';

 

2、查询本地mysql用户信息

 输入:select host,user,plugin from mysql.user;

3、但是Navicat不支持MySQL新版本的这种用户登录账户加密方式,所以下面我们要修改root账户的加密方式为【mysql_native_password】

输入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 

4、最后再重新打开下Navicat连接MySQL,就可以成功用root账户连接了

如果还是报密码不对,就按重置密码的流程再重置一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值