1
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -u root -p
Enter password:
ERROR 2027 (HY000): Malformed packet

我的服务器 4.0 和 5.7 上有 2 个 MySQL 数据库版本。我的应用程序可以毫无问题地连接到两个 MySQL 数据库,但是当我尝试登录 MySQL 命令行工具时,它显示错误,如下所示。我也注意到,即使我停止了 MySQL 5.7 服务,它也会显示相同的错误,但如果我停止了 MYSQL4.0 服务,它会显示:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

根据类似主题的一些回复,格式错误的数据包是因为旧密码散列问题,但我需要做些什么来更改密码?还是我的问题与密码无关?

仅供参考,我使用的是 Windows Server 2012 R2。Mysql 5.7.21 和 Mysql 4.0.17

4

1 回答 1

1

这是 MySQL 5.7 客户端和 MySQL 4.0 服务器之间的兼容性问题。

我的应用程序可以毫无问题地连接到两个 MySQL 数据库,但是当我尝试登录 MySQL 命令行工具时,它显示错误,如下所示。

原因可能很简单,应用程序可能使用不同版本的Mysql connector API,例如 App 连接v5.7可能使用5.7兼容库。

当您连接到 MySQL 4.0 时,请使用 MySQL 4.0 客户端和类似的 MySQL 5.7。

同时运行两个版本时,请确保指定正确的端口。

于 2018-06-08T04:41:08.470 回答