Я получаю ошибки «Потеряно соединение с сервером 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 |
+-----------------------------+----------+
Я также изменил параметр connect_timeout в php.ini на неограниченный:
; 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 Port.
Можете ли вы помочь с идеями, где я должен искать, чтобы справиться с этим?
Эта ошибка обычно возникает во время истечения времени ожидания сервера и может быть закрыта, так что может быть http://dev.mysql.com/doc/refman/5.0/en/gone-away.html поможет вам.
Других решений пока нет …