MySQL 8.0 密码重置

Windows系统Mysql8.0 重置root密码

  1. Windows系统Mysql8.0+重置root密码
  2. 按照网上教程出现如下提示语法错误

    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 '('root'), password_last_changed=now() where user='root'' at line 1

 

最近使用MySQL时发现忘记了自己的 sql密码,导致无法连接

 从网上查询教程多次尝试后总结本文(亲测有效)

视频链接:MySQL密码忘了解决方案_哔哩哔哩_bilibili

上面视频中up主的MySQL版本是mysql5.7.39  ,步骤非常详细大家可以跟着一步一步来,

直到修改密码的命令语句时出现报错 ,提示我们语法错误(本文开头的错误提示)

提示语法错误解决办法 :

这是因为,8.0以前的版本都是这样子修改密码的:

use mysql; 
update user set authentication_string = password(“root”) where user = “root”;

你会发现系统一直提示输入的语法有问题,是因为8.0版本已经废弃了password函数,

我们可以这样子进行修改:

alter user 'root'@'localhost' identified by 'newpassword';

或者

alter user 'root'@'%' identified by 'newpassword';

localhost或%取决于你对root用户设置的登录权限,localhost表示只能本机登录root用户,%表示可以使用其他机器远程登录root用户。我这里使用的是第一种。

执行这个语句的时候,可能会出现这个问题:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

你只需要执行这步:

flush privileges; 

再重新修改密码即可:

alter user 'root'@'localhost' identified by 'newpassword';

或者

alter user 'root'@'%' identified by 'newpassword';

如果修改成功,记得刷盘,进行持久化操作:

flush privileges;

之后,退出 

exit

或者

quit

另:

注意:网络上有的教程提到8.0要求用户新密码不能太简单,引用如下:

值得注意的是,新密码不能太简单,8.0的密码规则是不少于8位,且含有小写字母、数字、大写字母、特殊字符,所以你可以这样子设置:

alter user 'root'@'localhost' identified by 'Root123@#';

我的MySQL版本就是8.0但是我设置密码为 root 并未出现任何报错且可正常使用,

在这里指出这种说法是预防大家如果出现密码格式问题有参考依据

         ps:毕竟大多数学习阶段的人习惯于 root  等简单密码。

(亲测方法可行)

参考文章:MySQL8.0版本修改root密码_mysql8.0修改root密码_蔷薇尖的风的博客-CSDN博客

 

 


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔同学9496

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值