Журнал содержит информацию о подключениях клиентов, запросах и другого рода событиях. Это файл очень полезен для отладки, оптимизации систем.
# С помощью этого запроса можно увидеть состояние системных переменных.
mysql> show variables
where Variable_name in ('version', 'log', 'general_log', 'general_log_file', 'log_output');
+------------------+---------------------------------------+
| Variable_name | Value |
+------------------+---------------------------------------+
| general_log | OFF |
| general_log_file | /usr/local/mysql/data/datacharmer.log |
| log | OFF |
| log_output | FILE |
| version | 5.1.25-rc-community-log |
+------------------+---------------------------------------+
# Показать значения всех переменных для логов, плюс и медленные запросы
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'log%'
OR Variable_name LIKE 'general_log%'
OR Variable_name LIKE 'long%' OR Variable_name LIKE '%slow%'
OR Variable_name = 'version' ;
Параметр log_output может принимать значения: FILE или TABLE. Возможность вести журнал событий в таблице появилась с MySQL 5.1.
Изменить значения переменных можно как в файлах конфигурации my.cnf так и напрямую, например:
mysql> SET GLOBAL general_log_file='/tmp/mysql/general.log';
mysql> SET GLOBAL general_log=ON;
# Переключение на таблицу
mysql> set global log_output='TABLE';
# Запросы из таблицы
mysql> select count(*) from mysql.general_log;
# Очищаем таблицу логов
mysql> truncate mysql.general_log;
# Включение журналирования одновременно как в таблицу, так и в файл
mysql> set global log_output='TABLE,FILE';
# Выключение журналирования и очищения таблицы
mysql> set sql_log_off=0;
mysql> truncate mysql.general_log;
Материалы по данному вопросу:
- Usability Report Table Logs
- MySQL 5.11 Reference Manual :: 5.11.3. The General Query Log
- Hacking MySQL table logs
Просмотров: 3307