MySQL Workbench连接数据库时出现Malformed packed

为什么使用MySQL Workbench连接公司数据库老是出现Malformed packet的提示?百思不得其解。试过WorkBench的32位和64位版本,就是不行。网上查找半天,无效。但是Navicat for MySQL等其他MySQL客户端都能连的上数据库,偏偏这个WorkBench……郁闷的不行,硬是折腾了一天……这种错误堵在心里是让我很不爽的!MySQL Workbench最坑的地方,就是只显示一个Malformed packed错误,然后就啥提示也没有了……WFK
1
几天之后,一个偶然的机会,找到问题出在哪儿了!!!!就是因为客户端与服务器的加密协议不匹配导致的。

事情是这样的:

我用Python连接公司数据库的时候也连接不上,直接报错:

NotSupportedError: Authentication with old (insecure) passwords is not supported. For more information, lookup Password Hashing in the latest MySQL manual

隐隐感觉这两者的问题是一样的。

这回找到错误代码就去网上一阵搜,找了MySQL的manual,http://dev.mysql.com/doc/refman/5.7/en/old-client.html ,基本就可以确定是MySQL服务器端版本太老,客户端与服务器用的密码认证协议不一致所导致的,而且MySQL服务器的密码认证协议是向下不兼容的!!!好恶心啊……

去网上找了个解决方案(需要在服务器的MySQL命令行运行下面的代码):
2
运行完之后在Python里就可以正常连接数据库了。

然后又在WorkBench里试了一下,虽然出现了下面的警告,不过终于是能连上了~~~
23
一个堵了好几天的大BUG解决了,心情爽得不得了!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值