慢查询日志配置
slow_query_log
GLOBAL 级配置,配置是否开启慢查询日志。
-- 查看是否开启慢查询日志 1 开启 0 关闭SELECT @@GLOBAL.slow_query_log;+-------------------------+| @@GLOBAL.slow_query_log |+-------------------------+| 1 |+-------------------------+-- 配置慢查询日志开启状态SET @@GLOBAL.slow_query_log = 0SET @@GLOBAL.slow_query_log = 1
slow_query_log_file
GLOBAL 级配置,配置记录慢查询sql的日志文件。
-- 查看慢查询日志的存储文件SELECT @@GLOBAL.slow_query_log_file;+-----------------------------------------+| @@GLOBAL.slow_query_log_file |+-----------------------------------------+| /usr/local/mysql/var/localhost-slow.log |+-----------------------------------------+-- 设定慢查询日志的存储文件SET @@GLOBAL.slow_query_log_file = "/usr/local/mysql/var/mysql-3306-slow.log";
慢查询时间配置
long_query_time
SESSION | GLOBAL 级配置。可以单独的为当前会话设定慢查询sql(秒)的时间的阈值,也可以全局的设定。
当前会话
-- 查看当前会话的慢查询时间SELECT @@long_query_time;+-------------------+| @@long_query_time |+-------------------+| 3.000000 |+-------------------+-- 配置当前会话的慢查询时间(秒)SET @@long_query_time = 3;
全局配置
-- 查看当前会话的慢查询时间SELECT @@GLOBAL.long_query_time;+-------------------+| @@long_query_time |+-------------------+| 3.000000 |+-------------------+-- 配置当前会话的慢查询时间(秒)SET @@GLOBAL.long_query_time = 3;
慢查询状态统计
Slow_queries
SESSION | GLOBAL 级状态统计,可以统计当前会话或全局慢查询日志的量。
当前会话
SHOW STATUS LIKE 'Slow_queries';+---------------+-------+| Variable_name | Value |+---------------+-------+| Slow_queries | 3 |+---------------+-------+
全局统计
SHOW GLOBAL STATUS LIKE 'Slow_queries';+---------------+-------+| Variable_name | Value |+---------------+-------+| Slow_queries | 4 |+---------------+-------+
配置参数同样可以在 mysql 配置文件中的 [mysqld] 段中全局配置
my.cnf 配置
[mysqld]slow_query_log = 1slow_query_log_file = /usr/local/mysql/var/mysql-3306-slow.loglong_query_time = 3