Мониторинг сервера MySQL

Задача
Вы хотите посмотреть, как был сконфигурирован сервер, или отслеживать его состояние.

Решение
Используйте для этого предложения SHOW VARIABLES и SHOW STATUS.

Обсуждение
Предложения SHOW VARIABLES и SHOW STATUS выводят информацию о конфигурации сервера и его рабочие характеристики:

mysql> SHOW VARIABLES;

+-------------------------+-------------------+
| Variable_name | Value |
+-------------------------+-------------------+
| back_log | 50 |
| basedir | /usr/local/mysql/ |
| bdb_cache_size | 8388600 |
| bdb_log_buffer_size | 0 |
| bdb_home | |
...

mysql> SHOW STATUS;

+----------------------+------------+
| Variable_name | Value |
+----------------------+------------+
| Aborted_clients | 319 |
| Aborted_connects | 22 |
| Bytes_received | 32085033 |
| Bytes_sent | 26379272 |
| Connections | 65684 |
...

Такая информация полезна для создания административных приложений.


Например, вы можете написать фоновую программу, которая периодически исследует активность сервера. Простое приложение такого типа может запрашивать у сервера количество установленных соединений и время работы для определения усредненной активности клиентов. Запросы для получения такой информации выглядят так:

SHOW STATUS LIKE 'Connections';
SHOW STATUS LIKE 'Uptime';

Если вы не хотите заново устанавливать соединение при каждом запуске запросов, то можете запросить у сервера значение его тайм-аута для клиентских приложений и обращаться к серверу через промежутки времени, не превышающие полученное значение. Величину тайм-аута в секундах можно получить в таком запросе:

SHOW VARIABLES LIKE 'wait_timeout';

Значение по умолчанию равно 28 800 (8 часов), хотя в вашей системе оно может быть другим.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела MySQL на эту тему:
Вывод списков таблиц и баз данных
Определение количества строк, обработанных запросом
Определение наличия или отсутствия результирующего множества
Определение текущего пользователя MySQL
Определение текущей базы данных