您现在的位置是:娱乐 >>正文
sqlyog连接mysql错误码2058
娱乐28935人已围观
简介昨天半夜,同事老周发来一张截图,SQLyog连接MySQL时报错,错误码2058。他配了一句话:“这玩意儿到底啥意思?”我一看就乐了,这错误码我太熟了,十个人里有八个第一次遇到都会懵。 错误码2058 ...
昨天半夜,连接同事老周发来一张截图,误码SQLyog连接MySQL时报错,连接错误码2058。误码他配了一句话:“这玩意儿到底啥意思?连接”我一看就乐了,这错误码我太熟了,误码十个人里有八个第一次遇到都会懵。连接
错误码2058的误码本质,是连接MySQL 8.0版本换了密码加密插件。老版本用的误码mysql_native_password,新版本默认改成caching_sha2_password。连接SQLyog这种老牌图形客户端,误码如果版本不够新,连接或者连接时没指定插件,误码两边就对不上暗号,连接服务器直接甩你一脸2058。说白了,不是密码错了,是加密方式谈不拢。
解决办法其实就两条路。第一条,升级SQLyog到13.x以上版本,新版本客户端能自动适配新插件。但很多人不爱升级,怕界面变了不习惯,或者公司电脑权限不够装不了新软件。那就走第二条路——把MySQL用户的加密方式改回旧的。在命令行里敲两句话就行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
注意,这里有个坑。如果你用的是远程连接,localhost要换成实际的IP或%,否则改了等于没改。我就见过有人改完本地能连,远程照样报2058,折腾半天发现是host没写对。
还有个细节容易被忽略。MySQL 8.0.34之后,mysql_native_password插件被标记为废弃,未来版本可能直接移除。你现在改回去能解决问题,但属于治标不治本。哪天你升级MySQL到9.x,这招可能就不灵了。所以我的建议是,如果你不是被老旧系统绑死,最好还是花五分钟升级SQLyog,一劳永逸。
说个真实案例。之前有个客户,生产环境跑着MySQL 8.0.28,运维用SQLyog连了半年一直好好的。某天突然报2058,查了半天发现是有人用root账号在命令行手动改过密码,导致加密方式被重置成默认的caching_sha2_password。这就是典型的“手动操作覆盖了原有配置”,跟版本升级没关系。所以遇到2058,先别急着改插件,查一下最近有没有人动过账号密码。
顺带提一句,如果你用的是Navicat或者DBeaver,基本不会碰到这问题,它们对新插件的适配做得比较早。SQLyog这软件有点年头了,官方对MySQL 8.0的支持一直慢半拍,这也是老工具的通病——功能稳定,但跟进新技术总是慢。
最后给你个排查顺序:先确认MySQL版本,低于8.0直接忽略这错误码;再检查SQLyog版本,低于13就升级或改插件;最后看账号的host匹配。三步走完,99%的情况能解决。剩下那1%,大概率是密码里有特殊字符被转义了,比如@符号,记得在SQL语句里用引号包住。
别问我为什么知道这么多,都是踩坑踩出来的。你今晚要是也遇到这问题,照着改就行,不用谢。
Tags:
上一篇:传奇单职业
下一篇:输条形码搜答案网页版
相关文章
虚拟产品货源渠道
娱乐做虚拟产品这行三年,我踩过最大的坑就是货源。早期以为闲鱼上那些9.9元打包的“海量资源”能发财,结果买回来全是百度网盘里过期的盗版课,连个整理目录都没有——那种东西卖出去,售后能把你逼疯。 真正的货源 ...
【娱乐】
阅读更多海口逆渗透
娱乐海口的路面底下,藏着一场看不见的战争。对手是水——准确说,是渗进水泥、钢筋和红土里的那股咸涩潮气。我在海甸岛住过三年,租的老小区一楼,每年回南天最凶的那几天,地板缝里能渗出水珠,像墙在流汗。房东阿叔管 ...
【娱乐】
阅读更多淄博招聘信息
娱乐淄博的招聘市场最近有点意思。前几天刷到一条信息,张店区一家做陶瓷轴承的小厂招数控车床操作工,月薪开到八千五,包吃住,五险一金按实际工资交。这待遇放在三年前,本地同类岗位顶多给到六千。厂子不大,三十来号 ...
【娱乐】
阅读更多