Mysql的caching_sha2_password的坑

概述
今天我用homebrew安装Mysql8.0,安装完成之后,用Workbench和Sequel Pro连接数据库都失败了,并且都报caching_sha2_password相关的错误,经过查资料,原因是Mysql8.0的默认认证方式改用sha2了,但是Workbench和Sequel Pro里面都没有sha2的插件,所以报错了。我把解决方法记录下来,供以后开发时参考,相信对其他人也有用。
解决方法
网上流行的解决方案是把sha2认证改回以前的认证方式,方法如下:
// 启动Mysql服务
mysql.server start
// 登录Mysql(需要输入密码)
mysql -u root -p
// 选择数据库(这一步不可省略)
use mysql
// 查看plugin设置
select host, user, plugin from user;
// 可以看到root的plugin是caching_sha2_password,我们希望改成mysql_native_password
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'xxxxx';
// 大功告成,关闭Mysql
exit
mysql.server stop
其它
其实我们还可以用ssh进行免密登录,这样就绕过了caching_sha2_password认证了(我的猜想)
以后用ssh登录试一试~~
作者:馒头加梨子
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-08-19 微信昵称的emoji的尝试性解决方案