更新时间:2025-12-29 GMT+08:00
分享

管理慢日志

操作场景

慢日志用来记录执行时间超过当前慢日志阈值“long_query_time”(默认是1秒)的语句,您可以通过慢日志的日志明细、统计分析情况,查找出执行效率低的语句,进行优化。您也可以下载慢日志进行业务分析。

约束限制

明文显示的日志30天后会自动删除。如果实例删除,相关日志也同步删除。

参数解析

表1 MySQL慢日志相关的参数解析

参数名称

说明

long_query_time

大于等于此时间记录慢日志,精度可达微秒级别,默认为1s,当SQL语句执行时间超过此数值时,就会被记录到慢日志中。

建议设置为1s。注意:锁等待时间并不计算在执行时间内。

修改“long_query_time”参数是全局级别生效,修改完成后,新建连接会使用最新设置的参数值。旧连接的“long_query_time”属性值不会被改变,仍然保持旧的值。

log_queries_not_using_indexes

是否记录未使用索引的查询,默认OFF。

log_throttle_queries_not_using_indexes

每分钟允许写入到慢日志的未使用索引的语句,默认为0。

查看慢日志

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击日志管理,右侧选择“慢日志”
  5. “日志明细”页签下,单击“开启慢日志明文显示”右侧开关

    图1 慢日志明文显示

  6. 在弹出框中,单击“确定”,开启慢日志明文显示功能。

    图2 确认开启明文显示

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击日志管理,右侧选择“慢日志”
  5. “日志明细”页签下,查看指定执行语句类型或时间段的慢日志记录。

    图3 慢日志明细
    如果开启了LTS慢日志配置,在页面右上方,支持切换成分析视图,查看更详细的日志分析。更多内容,请参见管理日志组
    图4 分析视图
    • 针对当前的慢日志功能, 阈值参数“long_query_time”可以控制SQL响应时间为多少而生成一条慢日志记录,只会影响新增的部分。比如慢日志阈值参数为1s时,上报了超过1s的慢日志记录,后续调整为0.1s, 原有上报的日志仍然会展示。
    • 目前支持查询2000条慢日志明细。如需查询更多慢日志,请提交工单申请。
    • 如果需要导出日志明细,可以按照时间段导出,且一次性最多导出1000条。
    表2 慢日志明细说明

    类别

    说明

    执行语句

    慢日志为记录执行完毕且执行耗时超过阈值的语句,没有执行完毕的语句是不会记录的。

    如果SQL语句单行长度超过10KB或总行数超过200行,当前会对此类语句进行截断。查看慢日志明细时,SQL语句可能为特殊处理后的不完整语句,仅供参考。

    语句类型

    • 您可以在页面右上角筛选以下执行语句类型:全部、SELECT、INSERT、UPDATE、DELETE、CREATE、CALL、ALTER、TRUNCATE、RENAME、FLUSH、EXPLAIN、LOCK、GRANT、REVOKE、COMMIT、ROLLBACK、DROP、WITH。
    • 您还可以单击右上角的选择时间区域,查看不同时间段内的慢日志。

      最多支持查看近1个月的慢日志。

    执行状态

    SQL执行状态。通常情况下,执行状态为0,表示SQL正常执行完成。但是,如果SQL被强制终止,执行状态就会变为非0值。

    5.7.23及以下版本,5.6.41及以下版本以及关闭log_slow_extra参数时,执行状态为空。

    • 0:表示SQL正常执行完成。
    • 1:数据损坏。
    • 1053:服务器连接异常。
    • 1317:SQL执行中断。
    • 3024:SQL执行超时。

    发生时间

    慢SQL开始执行的UTC时间。

    执行时间(秒)

    慢SQL持续时间。

    等待锁时间(秒)

    包含表锁与行锁等待时间。

    结果行数

    只有SELECT语句会返回“结果行数”,INSERT、UPDATE、DELETE、CREATE语句默认“结果行数”为0。

    扫描行数

    扫描行数是指SQL执行过程中实际访问并处理的数据行数。

    所属数据库

    执行SQL语句所在的数据库。

    慢日志功能支持查看指定数据库名称(仅支持精确搜索,不能包含特殊字符)的慢日志记录。

    账号

    执行SQL语句的账号。

    IP地址

    连接数据库的host,当本地登录时为localhost。

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击日志管理,右侧选择“慢日志”
  5. 选择“统计分析”,查看详细信息。

    图5 统计分析日志
    • 慢日志的“统计分析”页签中是对选定时间段内的最新5000条慢SQL进行统计分析。
    • 如果需要导出统计分析,可以按照时间段导出,且一次性最多导出1000条。
    表3 慢日志统计分析说明

    类别

    说明

    执行语句

    • 慢日志的“统计分析”页签中显示的SQL语句只是同一模式的SQL语句中的一个,作为示例,并不会列出所有的SQL语句。例如:先后执行了语句"select sleep(1)"和"select sleep(2)",则它们同属于模式"select sleep(N)",慢日志的结果中只会显示SQL语句"select sleep(1)"。
    • 如开启“开启慢日志明文显示”,则无法使用模式统计。例如:先后执行了语句"select sleep(1)"和"select sleep(2)",慢日志的结果中会显示SQL语句"select sleep(1)"和"select sleep(2)"。

    语句类型

    您可以在页面右上角筛选以下执行语句类型:全部、SELECT、INSERT、UPDATE、DELETE、CREATE、CALL、ALTER、TRUNCATE、RENAME、FLUSH、EXPLAIN、LOCK、GRANT、REVOKE、COMMIT、ROLLBACK、DROP、WITH。

    SQL执行次数与占比

    选定时间段内该类SQL语句执行慢的次数,以及选定时间段内该类SQL执行慢的次数占所有慢SQL执行次数的百分比。

    平均执行时间(秒)

    选定时间段内平均慢SQL持续时间。

    平均等待锁的时间(秒)

    选定时间段内平均等待锁时间。

    平均结果行统计数量

    选定时间段内平均结果行数。

    平均扫描的行数量

    选定时间段内平均扫描行数。

    所属数据库

    执行SQL语句所在的数据库。慢日志统计分析结果中的数据库名称如果包含特殊字符 < > ' 等,特殊字符会被转义处理。

    支持查看指定数据库名称(仅支持精确搜索,不能包含特殊字符)的慢日志统计分析。

下载慢日志

通过界面直接下载的方式,只能下载不超过40MB的日志文件。

如果要下载的日志文件大于40MB,需要使用OBS Browser+工具下载

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击日志管理,右侧选择“慢日志”
  5. 选择“下载”,对状态为“准备完成”的日志文件,单击操作列中的“下载”,下载慢日志。

    图6 下载慢日志
    • 系统会自动加载下载准备任务,加载时长受日志文件大小及网络环境影响。
      • 下载准备过程中,日志文件状态显示为“准备中...”。
      • 下载准备完成,日志文件状态显示为“准备完成”。
      • 下载准备工作失败,日志文件状态显示为“异常”。

      “准备中...”“异常”状态的日志文件不支持下载。

    • 下载链接有效期为5分钟。如果超时,提示用户下载链接已失效,是否重新下载。若需重新下载,单击“确定”,否则单击“取消”。
    • 下载的日志文件为主节点或只读节点的日志。

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击日志管理,在“慢日志”页签下,获取慢日志文件名。

    图7 下载慢日志

  5. 下载OBS Browser+
  6. 解压并安装OBS Browser+。

    图8 登录OBS Browser+

  7. 在当前实例的任意一个备份文件的OBS Browser+下载页面,获取外部桶名称

    图9 获取外部桶名称

  8. 挂载外部桶。

    图10 挂载外部桶

    如果需要跨账号访问对象存储服务的外部桶,需要添加访问权限,请参见对其他账号下的IAM用户授予桶和桶内资源的访问权限

  9. 单击挂载成功的外部桶桶名,进入对象列表页面。在右侧搜索框,搜索4中获取的日志文件名,单击,下载日志文件。

    图11 下载日志文件

    下载的日志文件为主节点或只读节点的日志。

LTS慢日志配置

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页。
  4. 在左侧导航栏单击日志管理,右侧选择“慢日志”
  5. 单击页面右上方的“对接LTS配置”。
  6. 在右侧弹框中,日志类型选择慢日志,在下拉框分别选择对应的日志组和日志流,单击“确定”。

    图12 LTS慢日志配置

常见问题

相关文档