Как включить MySQL Query Log? - PullRequest
232 голосов
/ 25 июня 2011

Как включить функцию MySQL, которая регистрирует каждый оператор SQL-запроса, полученный от клиентов, и время отправки этого запроса? Могу ли я сделать это в phpmyadmin или NaviCat? Как мне проанализировать журнал?

Ответы [ 14 ]

1 голос
/ 27 января 2016

Чтобы включить журнал запросов в MAC Machine:

Откройте следующий файл:

vi /private/etc/my.cnf

Установите URL журнала запросов в разделе «mysqld» следующим образом:

[mysqld]

general_log_file=/Users/kumanan/Documents/mysql_query.log

Немногие машины не регистрируют запрос правильно, поэтому в этом случае вы можете включить его из консоли MySQL

mysql> SET global general_log = 1;
1 голос
/ 10 декабря 2014

для mysql> = 5.5 только для медленных запросов (1 секунда и более) my.cfg

[mysqld]
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes
0 голосов
/ 12 июня 2017

Мне пришлось сбросить и воссоздать общий журнал в одной точке. Во время воссоздания наборы символов испортились, и в итоге я обнаружил эту ошибку в логах:

[ERROR] Incorrect definition of table mysql.general_log: expected the type of column 'user_host' at position 1 to have character set 'utf8' but found character set 'latin1'

Так что, если стандартный ответ «проверьте, что регистрация включена» не работает, проверьте, чтобы убедиться, что ваши поля имеют правильный набор символов.

0 голосов
/ 23 августа 2013

В phpMyAdmin 4.0 вы идете в Статус> Монитор. Там вы можете включить медленный журнал запросов и общий журнал, посмотреть текущий монитор, выбрать часть графика, посмотреть связанные запросы и проанализировать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...