Включить лог всех запросов
SQL-запросом
- general_log.on.sql
SET global general_log_file='/var/log/mysql.log'; SET global general_log = ON;
Просмотреть состояние:
SHOW global VARIABLES LIKE '%general_log%';
Выключить:
SET global general_log = off;
Через конфигурацию
Если нет возможности увидеть запросы в коде приложения, их можно поймать на стороне сервера. Чтобы включить лог всех запросов, включая ошибочные, необходимо изменить конфигурацию сервера MySQL 5.6+:
- /etc/my.cnf.d/server.cnf
[mysqld] general_log = on general_log_file=/var/lib/mysql/all-queries.log
MySQL до 5.6:
- /etc/my.cnf.d/server.cnf
[mysqld] log=/var/lib/mysql/all-queries.log
Далее - перезагрузить сервер systemctl restart mysqld.service
.
Пример лога:
Time Id Command Argument 151217 12:10:20 2 Connect root@localhost as anonymous on test 2 Query show databases 2 Query show tables 2 Field List Document 2 Field List Field 2 Field List FieldMapping 2 Query select @@version_comment limit 1 151217 12:10:32 2 Query show tables 151217 12:11:30 2 Query select