Mysql 慢查询日志的相关参数设定及统计

42次阅读

共计 1589 个字符,预计需要花费 4 分钟才能阅读完成。

慢查询日志配置
slow_query_log
GLOBAL 级配置,配置是否开启慢查询日志。
— 查看是否开启慢查询日志 1 开启 0 关闭
SELECT @@GLOBAL.slow_query_log;
+————————-+
| @@GLOBAL.slow_query_log |
+————————-+
| 1 |
+————————-+

— 配置慢查询日志开启状态
SET @@GLOBAL.slow_query_log = 0
SET @@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 = 1
slow_query_log_file = /usr/local/mysql/var/mysql-3306-slow.log

long_query_time = 3

正文完
 0