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解决了,心情爽得不得了!!!

猜你喜欢

转载自blog.csdn.net/u014261408/article/details/90109742