更新时间:2026-07-10 GMT+08:00
分享

开启SQL审计日志

操作场景

当您开通SQL审计功能,系统会将所有的SQL操作记录下来存入日志文件,方便用户下载并查询。

RDS for MySQL默认关闭SQL审计功能,打开会增加数据库负载(占用实例的CPU、内存、磁盘空间、磁盘IOPS),对性能的影响一般不会超过5%。本章节指导您如何打开、修改或关闭SQL审计日志。

支持的数据库版本

仅如下版本支持SQL审计功能。如果您的数据库引擎版本较低,请参考升级内核小版本升级到最新版本。
  • 对于RDS for MySQL 5.6云盘实例,支持5.6.43及其以上版本。
  • 对于RDS for MySQL 5.6本地盘实例,支持5.6.47.3及其以上版本。
  • 对于RDS for MySQL 5.7云盘实例,支持5.7.23及其以上版本。
  • 对于RDS for MySQL 5.7本地盘实例,支持5.7.29.3及其以上版本。
  • 支持RDS for MySQL 8.0版本。

约束限制

表1 审计日志约束限制

审计日志类型

约束限制

SQL审计日志

  • 高可用只读如果出现异常,在备只读顶替期间的审计日志不可见。
  • 部分区域默认未开通LTS审计日志,如需配置LTS审计日志,请提交工单申请权限。
  • 主实例和只读实例都支持开启SQL审计日志。
  • 审计日志使用UTC时间,不受时区配置的影响。
  • 审计日志开通后,系统会将SQL操作记录下来,生成的审计日志文件会暂存在本地,随后上传到OBS并保存在备份存储空间。如果审计日志的大小超过了备份空间容量,就会按照超出的部分进行计费。
  • 审计日志清理周期为1小时。修改审计日志的保留天数,1个小时后开始清理过期的审计日志。
  • 审计日志开通后,在业务高峰期可能会产生大量的审计日志,导致本地暂存较多的日志文件,有磁盘打满风险,建议同步开启磁盘自动扩容

LTS审计日志

  • 访问日志提供了实例所请求的所有详细日志,日志存在LTS云日志服务中。
  • 请确认是否已开启LTS的超额续传功能,如果没有开启,日志累计上传500MB至LTS之后就会达到上限,导致上传失败。更多内容,请参见设置LTS日志采集配额和使用量预警
  • 配置完成后不会立即生效,存在10分钟左右的时延,请知悉。
  • LTS审计日志配置成功后,会产生一定费用,具体计费可参考LTS的定价详情
  • 在您进行LTS审计日志配置后,会默认上传所有审计策略。
  • 同时开启SQL审计和开启审计日志上传LTS:
    • 开启SQL审计和LTS审计日志开关都会生成审计日志,请注意审计日志中敏感信息没有进行脱敏处理。
    • 已开启SQL审计开关,此时再开启LTS审计日志,审计日志将延续已有的SQL操作类型策略,且会在原有的审计日志计费基础上增加您LTS的审计日志收费。原有的审计日志费用会在您关闭原有审计策略后终止。
    • 已开启SQL审计开关,此时再开启LTS审计日志,出于对实例的正常运行考虑,建议保留原有审计策略一段时间,待LTS审计日志运转正常后,再关闭原有审计策略。
  • 以下场景上传到LTS的审计日志记录可能会有丢失。若您的审计日志开关为打开的状态,您可以通过OBS下载全量的审计日志文件。
    • 在业务量大、审计日志产生速度过快或者LTS服务故障等极端情况下,有较小概率会丢失部分日志记录。
    • 当前上传LTS的单条审计日志记录上限为512KB,超过的部分会被截断。

操作步骤

  1. 登录RDS管理控制台
  2. 单击管理控制台左上角的,选择区域。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击“日志管理”,选择“SQL审计日志”。
  5. 单击“设置SQL审计”,在弹出框中设置SQL审计日志保留策略,单击“确定”,保存设置策略。

    开启或修改SQL审计
    • 将单击设置为,开启SQL审计日志保留策略。
    • 保留天数默认为7天,可设置范围为1~732天。
    • 打开审计日志快速轮转开关后,服务将每五分钟轮询一次审计日志,并将新产生的审计日志上传到OBS或LTS。
    图1 设置SQL审计

    目前自定义操作项功能仅支持华北-北京四、华南-广州、中国-香港区域,其他区域如需使用该功能,请提交工单申请开通。

    MySQL客户端使用PreparedStatement和定时任务执行的SQL语句分别属于PREPARED_STATEMENT和CREATE大类,JDBC使用PreparedStatement产生的SQL语句无法过滤。

    开启SQL审计后,支持数据定义(DDL)、数据操作(DML)、数据控制(DCL)、以及其他操作类型的权限,具体如下:

    表2 DDL操作类型的权限

    类型

    具体权限

    备注

    CREATE

    create_db, create_event, create_function, create_index, create_procedure, create_table, create_trigger, create_udf, create_view

    -

    ALTER

    alter_db, alter_db_upgrade, alter_event, alter_function, alter_instance, alter_procedure, alter_table, alter_tablespace

    2024-01-26开始ALTER类型不支持alter_user权限。

    DROP

    drop_db, drop_event, drop_function, drop_index, drop_procedure, drop_table, drop_trigger, drop_view

    -

    RENAME

    rename_table

    -

    TRUNCATE

    truncate

    -

    REPAIR

    repair

    2024-01-26新增REPAIR类型。

    OPTIMIZE

    optimize

    2024-01-26新增OPTIMIZE类型。

    表3 DML操作类型的权限

    类型

    具体权限

    备注

    INSERT

    insert, insert_select

    -

    DELETE

    delete, delete_multi

    -

    UPDATE

    update, update_multi

    2024-01-26新增update_multi权限。

    REPLACE

    replace, replace_select

    -

    SELECT

    select

    -

    表4 DCL操作类型的权限

    类型

    具体权限

    备注

    CREATE_USER

    create_user

    -

    DROP_USER

    drop_user

    -

    RENAME_USER

    rename_user

    -

    GRANT

    grant_roles, grant

    2024-01-26新增grant_roles权限。

    REVOKE

    revoke, revoke_all, revoke_roles

    2024-01-26新增revoke_roles权限。

    ALTER_USER

    alter_user

    2024-01-26新增ALTER_USER类型。

    ALTER_USER_DEFAULT_ROLE

    alter_user_default_role

    2024-01-26新增ALTER_USER_DEFAULT_ROLE类型。

    表5 其他操作类型的权限

    类型

    具体权限

    备注

    BEGIN/COMMIT/ROLLBACK

    begin, commit, release_savepoint, rollback, rollback_to_savepoint, savepoint

    -

    PREPARED_STATEMENT

    execute_sql,prepare_sql, dealloc_sql

    2024-01-26新增dealloc_sql权限。

    CALL_PROCEDURE

    call_procedure

    2024-01-26新增CALL_PROCEDURE类型。

    KILL

    kill

    2024-01-26新增KILL类型。

    SET_OPTION

    set_option

    2024-01-26新增SET_OPTION类型。

    CHANGE_DB

    change_db

    2024-01-26新增CHANGE_DB类型。

    UNINSTALL_PLUGIN

    uninstall_plugin

    2024-01-26新增UNINSTALL_PLUGIN类型。

    INSTALL_PLUGIN

    install_plugin

    2024-01-26新增INSTALL_PLUGIN类型。

    SHUTDOWN

    shutdown

    2024-01-26新增SHUTDOWN类型。

    SLAVE_START

    slave_start

    2024-01-26新增SLAVE_START类型。

    SLAVE_STOP

    slave_stop

    2024-01-26新增SLAVE_STOP类型。

    LOCK_TABLES

    lock_tables

    2024-01-26新增LOCK_TABLES类型。

    UNLOCK_TABLES

    unlock_tables

    2024-01-26新增UNLOCK_TABLES类型。

    FLUSH

    flush

    2024-01-26新增FLUSH类型。

    XA

    xa_commit,xa_end,xa_prepare,xa_recover,xa_rollback,xa_start

    2024-01-26新增XA类型。

    关闭SQL审计:

    设置为单击,关闭该SQL审计。

    勾选“确认关闭审计日志后,所有审计日志文件将立即删除。”复选框,表示同意删除审计日志。

    SQL审计关闭后,所有审计日志都会被立即删除,不可恢复,请您谨慎操作。

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

    图2 LTS审计日志配置

  7. 如果已经配置LTS审计日志,在页面右上方,支持切换成分析视图,查看更详细的日志分析。

    图3 列表视图
    图4 分析视图
    • 在“日志搜索”页签,支持查看快速分析下方的结构化字段和索引配置字段、以及查看并下载日志内容。更多功能介绍,请参见搜索与分析日志

      关于分析视图中“原始日志”页面各字段说明,请参见表6

      表6 LTS审计日志字段说明

      参数

      说明

      logType

      日志类型,固定值audit_log。

      instanceId

      实例ID。

      nodeId

      实例下的节点ID。

      _resource_id

      资源ID,固定值DBS_AUDIT_LOG,用户无需关注。

      _resource_name

      资源名称,固定值DBS_AUDIT_LOG,用户无需关注。

      _service_type

      服务类型,固定值MySQL。

      record_id

      审计日志单条记录的记录ID,记录审计日志的每条SQL的唯一global id。

      connection_id

      该条记录执行的会话ID,与show processlist中的ID一致。

      connection_status

      会话状态,常见为执行语句的错误返回码,普通执行成功返回0。

      name

      记录类型名称,通常情况下dml,ddl操作均为QUERY, 连接断开为CONNECT和QUIT。

      timestamp

      记录SQL执行完成时的UTC时间。

      command_class

      执行的SQL命令类型,内部为解析得到的SQL类型,例如select,update(连接断开不存在该项)。

      sqltext

      执行的SQL具体内容(连接断开审计不存在该项)。

      user

      登录的账户。

      host

      登录的host,当本地登录时为localhost,远程登录为空。

      external_user

      代理用户名称。

      ip

      通过远程连接的客户端IP,本地连接为空。

      default_db

      执行SQL时默认的数据库。

      trx_id

      执行SQL时的事务ID。

      execute_time

      执行SQL的耗时,单位:ms。

    • 在“统计图表”页签,支持使用表格、柱状图、折线图等图表类型展示不同场景数据。更多功能介绍,请参见统计图表概述
    • 在“日志分析”页签,支持对采集成功的日志数据进行搜索与分析。更多功能介绍,请参见日志搜索与分析概述
    • 在“实时日志”页签,支持查看实时上报的日志,实现对日志数据的快速检索与分析。更多功能介绍,请参见查看实时日志

常见问题

相关文档