![无法连接到:3306 mysql 与用户. 读取初始通信包时与 mysql 服务器失去连接,系统错误:0](https://linux22.com/image/736163/%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%3A3306%20mysql%20%E4%B8%8E%E7%94%A8%E6%88%B7.%20%E8%AF%BB%E5%8F%96%E5%88%9D%E5%A7%8B%E9%80%9A%E4%BF%A1%E5%8C%85%E6%97%B6%E4%B8%8E%20mysql%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%B1%E5%8E%BB%E8%BF%9E%E6%8E%A5%EF%BC%8C%E7%B3%BB%E7%BB%9F%E9%94%99%E8%AF%AF%EF%BC%9A0.png)
当我尝试使用 MySql 工作台连接到我打开的新服务器上的 MySql Server 时出现此错误。
无法连接到:3306 mysql 与用户。在读取初始通信数据包时与 mysql 服务器失去连接,系统错误:0
我看到这个问题被讨论了很多次,但我真的没有找到答案。以下是我尝试过的:
- iptables 不是问题,因为通过 telnet 3306 测试时我获得了连接。我还尝试在 IpTables 关闭时进行连接。
- 从 my.cfd 文件中删除了 bind 0.0.0.0。(如上所述,我与服务器有 3306 端口的连接,因此这不是问题所在)
- 我当然知道
CREATE USER 'developer'@'%' IDENTIFIED BY 'dev_password';
:GRANT ALL ON *.* TO 'developer'@'%';
由于通过此端口连接到我的服务器 IP,所以我无法知道问题出在哪里,因此问题应该出在 mysql 的应用程序级别。
尽管这个问题被讨论过这里 这里 这里等等。如果能给出解决方案,我将非常感激。此外,如果有人能解释这个问题,我会非常高兴。
答案1
请检查客户端和服务器之间是否存在任何其他类型的防火墙,例如 ufw 或安全组等,看起来连接正常,但在建立正确连接之前它已断开,请检查服务器上或其他服务器上的任何手动查询的响应时间。