Как определить, были ли какие-либо MySQL-соединения сброшены или истекло время ожидания?
Клиент использует PHP для подключения к MySQL. Сценарии PHP и база данных MySQL расположены на 2 разных серверах Linux. Он пожаловался на то, что соединения с базой данных были разорваны или истек срок ожидания, и попросил меня посмотреть.
Есть ли место в MySQL, которое может показать мне, что и сколько соединений было разорвано или истекло время ожидания? Я заглянул в медленный журнал запросов и ничего не увидел.
Любые предложения о том, как диагностировать эту проблему с удаленным / тайм-аутом соединения с базой данных?
Спасибо
РЕДАКТИРОВАТЬ:
Медленный журнал запросов включен в my.cnf
:
log-slow-queries=/var/log/mysql-slow-queries.log
И когда я делаю
mysql> show global status;
Я получил:
| Slow_queries | 11402347 |
Так что много медленных запросов. Но файл /var/log/mysql-slow-queries.log не существует. Это почему?
3 ответа
Файл журнала медленных запросов должен существовать и должен быть доступен для записи пользователю mysql. На стандартной установке MySQL я бы сделал:
touch /var/log/mysql-slow-queries.log
chown mysql.mysql /var/log/mysql-slow-queries.log
А затем перезапустите MySQL.
Если вы установите файл медленного журнала в определенном каталоге (например, /var/log/mysql/slow.log) с достаточными разрешениями, MySQL создаст файл журнала самостоятельно:
mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql
Вы включили свой медленный журнал запросов? Это пусто или это работает?
Обычно медленный журнал запросов отключен по соображениям производительности, и вы можете включить его для отладки, если вам нужно.
Вы можете попробовать использовать новый MySQL Workbench. С MySQL Administrator внутри Workbench вы можете видеть все открытые соединения в Tool в виде списка. Очень полезно наблюдать за вашими подключениями, управлять и контролировать ваш сервер в течение короткого времени.
Другой способ - взять оператор MySQL:
показать список процессов;
это показывает вам запущенные запросы, и вы можете увидеть, что висит.
Возможно, я мог бы помочь тебе. Для медленного журнала запросов вы получите больше информации на сайте MySQL или здесь