Блог Александра Башкирова

ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
Этот сайт в основном посвящен тому, что мне интересно вне работы. Ведется в порядке хобби.
Все изложенное на сайте - мое частное оценочное мнение и не может быть истолковано иначе.
Со всеми вытекающими из этого последствиями.

Скрипт включения-выключения логирования sql запросов в mysql

Просмотров: 3195Комментарии: 0
Linux

Порой бывает интересно посмотреть, что там пишет в mysql твой скрипт (или, как вариант, развернутая на локальном хосте CMS, или... да что угодно).

Для этого было бы нехило иметь что-то типа монитора sql запросов. Кстати, для решения этой задачи не обязательно иметь дорогостоящее ПО или вообще специальное ПО - все можно сделать средствами Linux.

Как известно, в mysql за логирование отвечают дае глобальных настройки:

  • general_log_file - там содержится имя файла лога
  • general_log - там содержится факт (включено или нет логирование)

А еще есть такая замечательная команда tail - которая выводит на экнан последние строки лога... В общем, попытаемся собрать все это воедино.

Для начала я написал скрипт, который включает и выключает логирование "по запросу". (Можно было и без скрипта, но с ним удобнее). Сам скрит тут (после скачивания разархивировать и chmod +x). Запуск:

db-log.sh [start|stop]

соответственно, параметр start - включит логирование, stop - выключит.

В самом скрипте есть одна настройка (log_file) - место расположения файла. 

Скрипт попросит ввести логин и пароль пользователя с достаточными правами (я ввожу root) - это тоже норамально, т.к. глобальные настройки меняет только этот пользователь.

Ну и последняя часть марлезонского балета: открываем отдельный терминал, там пишем чтото типа:

sudo tail -f /tmp/mysql.log

И имеем на экране все запросы, которые сделаны к БД с момента старта логирования и запуска tail'a.

Как-то так. Просто, со вкусом, бесплатно, быстро =) Без красивостей, да, и в консоли - ну тут уж ничего не попишешь...

Оставьте комментарий!


Комментарий будет опубликован после проверки

     

  

(обязательно)