mysql数据库修改密码,MySQL 8.0 多因素身份认证问题

用cmd登录数据库

mysql -u root -p

如果有密码输入密码,没有密码直接回车

步骤:重置密码为空

update user set authentication_string='' where user='root';
 
flush privileges;

注意必须要flush刷新

然后 “修改密码”

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 此时如果提示:ERROR 4058 (HY000): 1 factor authentication method does not match against authentication policy. Please refer @@authentication_policy system variable.

“修改my.ini配置文件”

那么需要到配置文件my.ini文件中修改内容,将authentication_policy=caching_sha2_password,, 改为:authentication_policy=*,,   表示支持任意加密方式。修改完后,重启mysql服务。

在这里,重点讲怎么修改my.ini文件里的内容。正常来说my.ini文件都会在C:\Program Files\MySQL\MySQL Server 8.0路径下,或者就是在C:\Program Files\MySQL\MySQL Server \8.0\bin(或者etc)里。

如果上述的都没有的话,就到ProgramData文件夹中去找,ProgramData文件夹在C盘中,需要注意的是,ProgramData属于系统保护文件,存放安装软件数据的,所以会被隐藏(下图以Windows10为例,找到ProgramData的方式),在ProgramData中找到Program Files\MySQL\MySQL Server 8.0路径,记事本打开my.ini,执行本文上述的“修改my.ini配置文件”操作

下图为获取修改my.ini文件的权限

注意,此时上述内容中密码置空是可以运行的,但是密码还没有修改为‘123456’,所以再次进入数据库时直接回车就可以,进入之后在此执行“修改密码”即可修改密码。

参考:mysql8.0.27之后无法指定加密方式创建用户或者修改密码 - 小泉哥 - 博客园 (cnblogs.com)

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值