Проверка состояния сервера Mysql
Приветствую, Друзья! Я вернулся на небольшое количество времени, что бы написать один интересный пост о том как получить данные о состоянии сервера базы данных Mysql с помощью небольшого кода на php. Проверка mysql делается для того, чтобы всегда быть в курсе всех изменений в работе сервера.
Коротко расскажу о данных, которые можно будет получить:
- Время работы сервера.
- Количество потоков (соединений).
- Количество выполненных запросов за всё время работы сервера.
- Количество медленных запросов.
- Количество открытых таблиц за всё время работы сервера.
- Количество открытых таблиц на текущий момент (при проверке состояния).
- Количество очищенных таблиц за всё время работы сервера.
- Количество запросов в секунду на текущий момент (при проверке состояния).
Для получения всех этих данных мы будет пользоваться mysql функцией mysql_stat(). В качестве переменной мы будем передавать идентификатор текущего соединения с базой данных.
Синтаксис этой функции выглядит вот так:
mysql_stat($link);
$link – идентификатор текущего соединения.
Теперь мы разберем с вами весь код получения информации о состоянии сервера. Данные мы будем разбирать с помощью регулярного выражения и потом использовать так, как нужно.
Полный код скрипта проверки сервера mysql:
$link=mysql_connect($hostname, $dbuser, $dbpass, $dbname);
$stat=mysql_stat($link);
preg_match_all('#\s*([0-9,.]+)\s*#ui',$stat,$m);
$date=date("H:i:s", mktime(0, 0, $m[0][0]));
echo'Время работы сервера: '.$date.'<BR>';
echo'Кол-во соединений: '.$m[0][1].'<BR>';
echo'Кол-во отосланных запросов (за всё время): '.$m[0][2].'<BR>';
echo'Медленных запросов: '.$m[0][3].'<BR>';
echo'Кол-во открытых таблиц (за всё время): '.$m[0][4].'<BR>';
echo'Очищенных таблиц: '.$m[0][5].'<BR>';
echo'Открытых таблиц: '.$m[0][6].'<BR>';
echo'Запросов в секунду: '.$m[0][7].'<BR>';
Как видно из примера скрипта, мы сначала устанавливаем соединение с базой данных. Далее мы вызываем функцию проверки состояния mysql сервера и уже только потом начинаем разбирать полученные данные.
На сегодня это всё друзья! Примерно такой же скрипт будет написан в следующем посте но уже для работы с базой данных MySQLi. Всего доброго и до встречи!
Хороший скрипт. Жду для MySQLi
Хм, заччем скрипт.
Если в phpmyadmin такая статистика приводится по мускулу…)
Хотя узнать о том,что есть такая функция, как mysql_stat, тоже интерестно
Это для того чтобы каждый раз не лазить в phpmyadmin, а скажем просто сделать вывод в админке и все