Как просмотреть список ранее выполненных запросов MySQL в формате прямой трансляции?

Как просмотреть список ранее выполненных запросов MySQL в формате прямой трансляции?

Как просмотреть последние выполненные запросы в 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'

Связанный контент