【问题标题】:HY000 2006 MySQL server has gone awayHY000 2006 MySQL 服务器已消失
【发布时间】:2017-04-09 18:42:41
【问题描述】:

所以,我看到有很多关于这个问题的问题,但我找不到任何解决方案。我尝试在 PHP 中连接到我在托管服务器上的数据库,但我得到了这个: [HY000] [2006] MySQL 服务器已消失

PHP文件的代码如下:

<?php

$mysqli = new mysqli('database_addres', 'user', '', "database_name");

?>

我不会进行一些查询调用或类似的事情。我尝试通过 PDO 和mysql_connect() 连接,但出现同样的错误。 connect_timeout 设置为 10,wait_timeout 设置为 200,innodb_buffer_pool_size 设置为 536870912。所以一切似乎都正常。我错过了什么吗?

【问题讨论】:

  • $mysqli = new mysqli('Host_address', 'user', 'pass', "database_name");尝试主机名
  • 是的,我正在使用主机地址,我宁愿无法连接,因为 mysql 服务器的某种错误配置。
  • $con=mysqli_connect("localhost","my_user","my_password","my_db"); // 检查连接 if (mysqli_connect_errno()) { echo "Failed to connect to MySQL:" . mysqli_connect_error(); } 试试这个..
  • 没有任何改变,我得到:“无法连接到 MySQL:MySQL 服务器已消失”
  • 您尝试过什么解决问题的方法?你被困在哪里了?

标签: php mysql


【解决方案1】:

MySQL 服务器消失(错误 2006)有两个主要原因和解决方案: 服务器超时并关闭连接。要解决此问题,请检查 my.cnf 配置文件中的 wait_timeout mysql 变量是否足够大。

服务器丢弃了不正确或太大的数据包。如果 mysqld 收到一个太大或不正确的数据包,它会假定客户端出现问题并关闭连接。要解决此问题,您可以在 my.cnf 文件中增加最大数据包大小限制 ma​​x_allowed_pa​​cket,例如。设置 ma​​x_allowed_pa​​cket = 128M,然后重启你的 MySQL 服务器:sudo /etc/init.d/mysql restart

【讨论】:

    猜你喜欢
    • 2019-01-30
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多