aws上RDS数据库开启慢查询日志

mysql数据库开启慢查询日志和查询中没索引的语句。供分析

0x00参数

首先选择RDS服务>参数组选择需要更改的参数组更改如下参数:

1
2
3
4
5
6
7
8
9
10
11
12
- slow_query_log:要创建慢速查询日志,请设置为 1。默认值为 0。
- general_log:要创建一般日志,请设置为 1。默认值为 0。
- long_query_time:只记录查询时间超过制定时间的sql。例long_query_time=0.5只记录查询时间超过500毫秒的sql。
- log_queries_not_using_indexes:要将所有不使用索引的查询记录到慢速查询日志,请设置为 1。默认值为 0。即使查询的执行时间小于 long_query_time 参数值,只要它们不使用索引,就会被系统记录。
- log_output:您可为 log_output 参数指定下列选项之一。
TABLE (默认) – 将一般查询写入 mysql.general_log 表,将慢速查询写入 mysql.slow_log 表。
FILE (推荐) – 将一般查询日志和慢速查询日志写入文件系统。日志文件每小时轮换一次。
NONE– 禁用日志记录。

启用了日志记录时,Amazon RDS 会定期轮换表日志或删除日志文件,log_output为TABLE时如需手动轮换执行:

1
2
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;

log_outputFILE时会每小时检查日志文件并删除 24 小时之前的日志文件。

0x01实际应用参数

1
2
3
4
5
slow_query_log=1
general_log=1
long_query_time=0.5
log_queries_not_using_indexes=1
log_output=FILE