понедельник, 14 сентября 2015 г.

Логирование всех запросов в MySQL 5.6.x

В процессе выяснения для чего magento 2.x требуется пользователь с GRANT ALL вместо GRANT ALL PRIVILEGES столкнулся с тем, что теперь переменная log больше не воспринимается в MySQL 5.6.x. Оказывается теперь верный способ для логирования выглядит так:

# cat > /etc/mysql/conf.d/logs.cnf << _EOF_
[mysqld]
log_output=FILE
general_log=ON
general_log_file=/var/log/mysql/general.log
_EOF_

После внесения изменений нужно перезагрузить сервер:

# service mysql restart

Если вам не подходит перезагрузка, то тоже самое можно сделать без перезагрузки через SET GLOBAL:

mysql> SET GLOBAL log_output=FILE;
mysql> SET GLOBAL general_log_file='/var/log/mysql/general.log';
mysql> SET GLOBAL general_log=ON;

Проверено на Percona Server 5.6.25-73.1.

UPDATE: Как оказалось, magento 2 не требует GRANT ALL на пользователя, вполне достаточно GRANT ALL PRIVILEGES, но разрешение нужно дать на конкретную базу, а не по маске.

Комментариев нет:

Отправить комментарий