Как определить, были ли какие-либо 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 или здесь

mysqladmin extended-status|head также может помочь здесь.

Другие вопросы по тегам