【问题标题】:Lost connection to MySQL server at 'reading initial communication packet', system error: 113在“读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误:113
【发布时间】:2011-07-07 11:24:50
【问题描述】:

我有两个 Debian 盒子:

  1. 使用apt-get安装mysql-server mysql-client phpmyadmin
  2. 使用apt-get安装apache2 apache2-mod-php5

我正在尝试使用 Apache 框连接到 MySQL 服务器,但我从 PHP 收到此错误:

“读取初始通信数据包”时与 MySQL 服务器的连接丢失,系统错误:113

我可以在同一网络上使用基于 Windows 的客户端很好地连接到 MySQL。这让我想知道 Apache2/PHP 是如何设置的。

关于错误 113 的额外阅读让我想知道主机名等。 MySQL 框上的 my.cnf 设置为 bind-address = 192.168.1.202,PHP 正在尝试连接到 192.168.1.202。

非常感谢任何和所有帮助!从长远来看,我不是一个邪恶的天才,这是我第一次尝试仅使用能力来设置它。我敢打赌这是我忘记的傻事。

【问题讨论】:

  • 你能用 3306 端口从 PHP 服务器远程登录到 mysql 吗? telnet 192.168.1.202 3306
  • 我昨天发生了这种情况...尝试注释掉所有绑定地址。
  • @sremier from Apache2 box 我可以使用您的命令远程登录到 MySQL 服务器。我正在尝试以 root 身份登录,这当然被拒绝,因为它被设置为只允许本地主机。它显示类似于“主机不允许连接”的错误,但 PHP 连接错误仍在谈论过早终止的连接。无赖。
  • @Peter 谢谢你的提示。我改变了这个(我假设它现在可以在任何地方监听)但是 Apache2 框不会向我显示有用的错误。我想它会说主机不允许连接?对吗?
  • 它不会说 host not allowed.. 你会得到类似于你遇到的第一个错误的东西,或者类似于身份验证失败的东西。如果您在同一网络中的两台不同服务器上设置 Apache 和 MySQL。您应该能够将绑定地址设置为 MySQL Box 的本地网络地址,然后为 Apache Box 添加一个用户帐户以通过该地址进行连接。

标签: php mysql debian system-administration aptitude


【解决方案1】:

我使用的是 Ubuntu 11.04

我以 root 身份登录并运行

cd /etc/mysql
nano my.cnf

然后我找到了bind-address = 127.0.0.1,并在它前面添加了#,所以它看起来像#bind-address = 127.0.0.1

比我运行/etc/init.d/mysql restart 来重新启动 MySQL。然后它开始工作了。

希望这会有所帮助。我知道 Debian 和 Ubuntu 在做事时是差不多的。

【讨论】:

  • 如果是web服务器而不是本地服务器怎么办
【解决方案2】:

确保您尝试连接的 IP 正确且没有防火墙

【讨论】:

    猜你喜欢
    • 2011-10-09
    • 2011-11-23
    • 2015-06-29
    • 2011-08-10
    • 2015-03-17
    • 2016-07-28
    相关资源
    最近更新 更多