Включить лог всех запросов
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