Доброго времени суток! Подскажите, как решить такую проблему: БД висит на одном сервере, сами сайты - на другом. Иногда пропадает коннект с базой данной, с пиком нагрузки никак не связано, подскажите, куда копать?
- попробовать через telnet долбить порт 3306 (или на каком висит мускул). может быть какие-нибудь лимиты стоят. - проверить права пользователя (врятли поможет, т.к. не работало бы совсем) - попробовать законнектится (с сервака где сайты) через mysql -u user -p password -h xxx.xxx.xxx.xxx (повисеть, посмотреть какую ошибку даст или нет) - когда коннект пропадает, какую ошибку пишет? - может коннект к интернету не постоянный?
На сервере с MySQL, посмотреть содержимое файла /var/lib/mysql/имя_сервера.err Иными словами - смотреть лог MySQL
еще как вариант отловить медленные запросы: В блок [mysql] добавляем следующее: log-slow-queries = /var/log/mysqld-slow-query.log # логгируем запросы, не использующие индексы log-queries-not-using-indexes --- Добавлено, 30 мар 2015 --- не забудь отключить эти опции после всех манипуляций
Попробуй в секции "Серверы БД" изменить пароль рута - если ошибка исчезает, а после перезагрузки снова появится, возможно проблема в модуле SSH
Проверь управление питанием на сетевых адаптерах. Может они у тебя в даун ложатся от безделья. (на HP Proliant G5 с этим столкнулся). И ещё... если есть до граничного шлюза(или шлюз) какиенибудь длинки (типа дэГээсы) попробуй либо исключить их либо сменить маршрут до магистрали.
Если ничего не менял и всё появилось внезапно - проверь количество соединений SHOW VARIABLES LIKE 'max_connections'; Количество подключенных клиентов SHOW STATUS LIKE 'Threads_connected'; И количество активных клиентов SHOW STATUS LIKE 'Threads_running'; для увеличения в my.conf параметр max_connections или SET GLOBAL max_connections = 500; (или не 500) --- Добавлено, 29 апр 2015 --- Только увидел - вопросу пол года, но все отвечают)