Здравствуй Хабр!
Периодически возникает необходимость отследить запросы, которые отправляет Ваше приложение к базе данных. К примеру:
— Вам нужно отладить/доработать чужой код
— Запросы генерируются с помощью сторонней библиотеки (к примеру ActiveRecord), не понятно, какие именно и сколько их.
— Нужно оптимизировать приложение: посмотреть какие запросы и сколько их, посмотреть explain этих запросов.
На помощь приходит Beaver mysql logger!
Для отслеживания запросов достаточно mysql консоли, включить set global general_log = 'on'; и set global log_output = 'table'; и просматривать логи в таблице general_log, но это не удобно:
— отсутствие форматирования и подсветки
— если параллельно выполняется несколько потоков — визуально сложнее найти искомый запрос
etc
Поскольку в general_log мне приходилось заглядывать часто, а готовых инструментов я не нашел — я написал Beaver mysql logger
Демо
На демо сайте explain и выполнение ограничены одним запросом в целях безопасности (всегда будет выполняться запрос по умолчанию, независимо от того, какой Вы запрос выбрали).
Что умеет:
— включать/отключать general_log
— выводить лог в приятный Web интерфейс
— поиск по логам
— делать explain запросов
— можно отредактировать и выполнить запрос
— очищать general_log
Скачать можно отсюда: Сайт проекта
При обнаружении багов — просьба сообщить. Спасибо!
Автор: spyfox87