MySQL сервер ушёл гулять
Иногда на сервере происходят сошибки типа "mysql server has gone away". Ошибка весьма досадная тем, что возникает она не всегда а только иногда. При этом, путем эмпирических действий удалось выяснить, что такое сообщение вызывается если PHP скрипт какое то время чем то сильно был занят и при этом не обращается к базе данных. Когда после некоторго периода бездействия скрипт, наконец хочет что-либо записать в базу данных то обнаруживается, что ссылка на соединение с базой данных уже мертва и все последующие запросы вылетают с ошибкой "mysql server has gone away". Понятно, что соединение с базой данных рвется по некоему таймауту, но вот по какому и как его увеличить?
Оказалось, что дело в переменной wait_timeout которая живет в /etc/my.conf. В моем случае она оказалась установленной в 30 секунд, поэтому, если во время выполнения скрипта между запросами оказывается промежуток более тридцати секунд - соединение рвется и больше не восстанавливается.
Изменить это значение можно либо поправив my.conf, либо после установления соединения выполнив "SET wait_timeout=1000".
разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться
комментарии:
Доброй ночи, мой сайт http://www.devhelper.ru схожей тематики с Вашим блогом, давайте обменяемся ссылками или еще как-нибудь посотрудничаем.