Как просмотреть последние выполненные запросы в MySQL в формате прямой трансляции?
Я хочу оставить окно терминала открытым и просто иметь запросы MySQL, всплывающие на экране всякий раз, когда что-то запускается. Я знаю, что могу сделать это с помощью команды tail, но не уверен, где хранятся журналы MySQL. Я также могу использовать mysqladmin proc, но это не даст мне непрерывной прямой трансляции.
решение1
У вас есть несколько вариантов. Вы можете включить общее ведение журнала запросов для MySQL, добавив:
log = /path/to/your/log.log
в ваш my.cnf (обычно /etc/my.cnf) и перезапуска. Затем вы можете отслеживать его по мере необходимости. Я бы не рекомендовал это, так как этот журнал может со временем стать довольно большим.
Ваш второй вариант, как вы упомянули, заключается в использовании watch в сочетании с mysqladmin proc. Например, вы можете использовать:
watch -n.5 'mysqladmin proc stat'
чтобы показывать вам список процессов и статус каждые полсекунды. Вы можете изменить -n.5 в соответствии с вашими конкретными потребностями (я предпочитаю добавлять stat в строку, чтобы предоставить дополнительную информацию, которая иногда может быть полезной).
решение2
Все запросы записываются в файл в системе под названием ".mysqlhistory". Вы можете запустить следующую команду, чтобы активно просматривать запросы, выполняемые в вашей базе данных.
найти / -имя ".mysqlhistory" -exec 'tail -f'