Я часто получаю ошибки «Потерянное соединение с сервером MySQL» и «2006: сервер MySQL», поэтому сервер недоступен. В этом вопросе есть вопросы, связанные с этой проблемой, но ни одна из них не касается моей ситуации; например, нет сетевого подключения (сервер подключен сокетом к клиентскому процессу, который находится на одном компьютере), и нет длинных запросов (на компьютере запущено несколько 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-порта.
Можете ли вы помочь с идеями, где я должен смотреть, чтобы справиться с этим?