本文介绍了RDS MySQL慢日志明细的查看方法,以及慢日志的相关问题及其解决方案,包括SQL记录规则、截断问题、时间差异原因以及统计个数差异等。
功能简介
RDS MySQL慢日志功能默认开启,详情请参见RDS MySQL慢日志的采集策略。查看其它类型日志,请参见查看错误日志和慢日志。
注意事项
-
如果一分钟内实例中产生的慢日志超过600条,可能会导致慢日志丢失。您可以通过升级内核小版本至20191212版本以上减少该情况。
-
如果SQL语句长度超过8192字节,慢SQL将无法记录完整的SQL内容。此外,SQL洞察日志也无法记录完整SQL。截断长度受
loose_rds_audit_max_sql_size(MySQL 5.6/5.7)或loose_rds_audit_log_event_buffer_size(MySQL 8.0/8.4)参数影响,默认值为 8192 字节,可在 RDS 控制台的参数设置页面修改;截断长度取 8192 字节与参数值的最小值。如果需要明确完整SQL内容,建议从应用端定位完整的SQL请求内容。
通过慢SQL页面查询
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
-
在左侧导航栏选择自治服务 > 慢SQL。
-
在慢日志分析页签下,选择需要查看的时间范围后,即可查看到对应的慢日志统计和慢日志明细。
慢日志统计的平均执行时间单位为秒,全量 SQL 统计的平均耗时单位为毫秒 (ms)。两个模块使用不同的时间粒度,分别对应不同的 API:慢日志统计对应
DescribeSlowLogs(返回秒),全量 SQL 统计对应DescribeSQLLogReportList(返回毫秒)。说明您也可以访问RDS实例详情页的日志管理页面,在慢日志明细页签下查看慢日志明细。
重要-
慢日志明细中包含 SQL 语句、访问来源、数据库、执行耗时等信息,其中用户字段显示的是执行该 SQL 的数据库账号名称,不是当前登录阿里云控制台的 RAM 用户;该字段仅在自治服务 > 慢SQL > 慢日志明细页签下显示,通过实例详情页日志管理 > 慢日志明细页签查看的慢日志明细不包含此字段。此外,慢日志采集时间的统计规则在早期版本中,该时间为 SQL 执行结束时间,而自 20211231(5.7.35)、20220530(8.0.25)起,该时间为 SQL 开始执行的时间。
-
如果您需要导出慢日志明细,请参见慢日志分析。
-