Php 2006年:MySQL服务器消失了

Php 2006年:MySQL服务器消失了,php,mysql,timeout,mysql-error-2006,Php,Mysql,Timeout,Mysql Error 2006,我经常遇到“与MySQL服务器的连接中断”和“2006:MySQL服务器已消失”错误,以至于服务器无法使用。在SO中有与此相关的问题,但没有一个适用于我的情况;例如,没有网络连接——服务器通过套接字连接到同一台机器上的客户机进程,没有长时间的查询——机器正在运行许多CMS——mediawiki、drupal和joomla——和PHPMyAdmin,但生成的查询AFAIK没有任何异常 我已将所有超时时间增加到一定程度,这些超时时间必须足够: +---------------------------

我经常遇到“与MySQL服务器的连接中断”和“2006:MySQL服务器已消失”错误,以至于服务器无法使用。在SO中有与此相关的问题,但没有一个适用于我的情况;例如,没有网络连接——服务器通过套接字连接到同一台机器上的客户机进程,没有长时间的查询——机器正在运行许多CMS——mediawiki、drupal和joomla——和PHPMyAdmin,但生成的查询AFAIK没有任何异常

我已将所有超时时间增加到一定程度,这些超时时间必须足够:

+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 60       |
| delayed_insert_timeout      | 300      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 6000     |
| net_write_timeout           | 6000     |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 3600     |
| wait_timeout                | 28800    |
| max_allowed_packet          | 16777216 |
+-----------------------------+----------+
我还将php.ini中的connect_timeout设置更改为unlimited:

; Maximum time (in seconds) for connect timeout. -1 means no limit
; http://php.net/mysql.connect-timeout
mysql.connect_timeout = -1
重新启动服务器可以在几个小时内清除问题。之后,通过CMS(即通过PHP和带有一个简单查询的小型PHP测试程序)的每次访问都会失败。但是,我仍然可以通过MySQL客户端访问MySQL服务器和数据库

MySQL错误日志中没有错误消息

服务器运行在最新的Mac Mini上,使用Mac OS X 10.9.5、MySQL v5.6.22和PHP v5.6.3,并使用Mac端口安装


你能帮我想一想我应该在哪里处理这个问题吗?

这个错误通常发生在服务器超时和may by connection关闭时,所以may be将帮助你。

你可能会更幸运地问这个问题,我最近用mysql\u ping或mysqli\u ping修复了这个错误,但是,这是在特定时间未连接到mysql服务器后进行的。服务器在某个默认时间关闭旧连接时尝试创建新连接id。