解决mysql加密caching_sha2_password情况下修改密码

看了很多文章,全是将caching_sha2_password加密改为native什么什么的,简直是为了进入数据库新特性都不用了。

这里给出一个在加密为caching_sha2_password情况下修改密码。

如果你当前还是无法进入数据库的情况下,则新建一个窗口,在mysql服务停止的情况下,输入

mysqld --console --skip-grant-tables --shared-memory;

此后,再开一个窗口,仅使用 mysql -u root 即可免密进入数据库。

然后,选择数据库 mysql,即

use mysql;

可以先看到当前 root 用户的密码加密情况

select authentication_string from user where user = "root";

应该是 caching_sha2_password

我们先将 root 的密码置为空串,即

update user set authentication_string = "" where user = "root";

此后,输入命令(好像也可以不用):flush privileges;

然后 exit 退出数据库,并终止第一个窗口的程序执行,即在第一个窗口按下 ctrl + C

然后再到这个窗口上启动mysql服务,即 net start mysql,然后无密码进入 mysql,即

mysql -u root -p

密码为空即可

此后,选择数据库 mysql,即 select mysql;

键入下述命令

alter user "root"@"localhost" identified by "root";

第二个 root 是你要设置的密码

可以看到,此时 root 的密码开头为$A$005 .... 与其它用户的密码格式一致,故此时密码修改完成,即可使用密码root进入。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,从MySQL 8.0.4开始,MySQL默认的身份验证插件从mysql_native_password改为caching_sha2_password。如果你想修改MySQL的默认加密方式为caching_sha2_password,你可以按照以下步骤进行操作: 1. 首先,登录到MySQL服务器。 2. 运行以下命令来修改默认的加密方式: ``` ALTER USER 'your_username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_password'; ``` 这里的'your_username'是你要修改的用户名,'localhost'是你的主机名,'your_password'是你要设置的新密码。 3. 如果你想修改所有用户的加密方式,可以使用以下命令: ``` ALTER USER 'your_username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_password'; ``` 这将修改所有用户的加密方式为caching_sha2_password。 4. 最后,刷新MySQL权限以使更改生效: ``` FLUSH PRIVILEGES; ``` 通过执行以上步骤,你可以成功修改MySQL的默认加密方式为caching_sha2_password。这样做可以提高数据库的安全性。 #### 引用[.reference_title] - *1* *2* *3* [浅谈 MySQL 新的身份验证插件 caching_sha2_password](https://blog.csdn.net/GreatSQL2021/article/details/127647735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值