详情页标题前

阿里云RDS数据库SQL洞察和审计-云淘科技

详情页1

RDS MySQL的SQL洞察功能已升级为SQL洞察和审计。SQL洞察和审计由数据库自治服务DAS提供,在全量请求和安全审计的基础上,融合了搜索、SQL洞察、安全审计以及流量回放和压测等功能,帮助您更好地获取SQL语句的具体信息、排查各种性能问题、识别高危风险来源、验证实例规格。

前提条件

  • RDS MySQL实例为高可用系列或集群系列。

  • 如果是RAM用户,使用搜索功能时,需要为RAM用户授予AliyunRDSReadOnlyWithSQLLogArchiveAccess权限。如何为RAM用户授权,请参见通过RAM对RDS进行权限管理。

    您也可以通过自定义权限策略授予RAM用户使用搜索(包含导出)功能的权限,详情请参见通过自定义权限策略授权RAM用户使用SQL洞察和审计的搜索(包含导出)功能。

重要

开启SQL洞察和审计功能可以记录所有DQL、DML和DDL操作信息,这些信息是通过数据库内核输出,对系统CPU消耗极低。

功能介绍

RDS MySQL数据库实例,支持新版SQL洞察和审计功能,与旧版SQL洞察和审计相比,变更了底层存储架构,冷热存储混合实现降本增效,使用成本大大降低,详情请参见计费概览。

  • SQL洞察和审计功能新版与旧版的差异请参见SQL洞察和审计的新版与旧版有什么差异?

  • 旧版SQL洞察和审计迁移到新版请参见迁移旧版SQL洞察和审计到新版。

重要

当前仅华东1(杭州)、华东2(上海)、华北2(北京)和华南1(深圳)地域的数据库实例支持将旧版SQL洞察和审计迁移到新版。

实例地域

支持的功能

计费

华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华南1(深圳)、华南3(广州)、华南2(河源)、华北3(张家口)、华北6(乌兰察布)、中国(香港)和新加坡

SQL洞察和审计(新版)

  • 搜索

  • SQL洞察

  • 安全审计

  • 流量回放和压测

  • 如果全新开启SQL洞察和审计功能,由DAS侧收取,详情请参见计费概览。

  • 如果数据库实例在SQL洞察升级为SQL洞察和审计之前已开启了SQL洞察功能,则费用由RDS侧收取。

    说明

    您可以在SQL洞察页签弹出的升级对话框中单击一键升级,升级为SQL洞察和审计。升级后费用由DAS侧收取。

华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华南1(深圳)、华北3(张家口)、华北5(呼和浩特)、西南1(成都)、华南3(广州)、华南2(河源)、华北6(乌兰察布)、中国(香港)、新加坡、马来西亚(吉隆坡)和印度尼西亚(雅加达)

SQL洞察和审计(旧版)

  • 搜索

  • SQL洞察

  • 安全审计

  • 流量回放和压测

除上述地域之外的其他所有地域

SQL洞察(原SQL审计)

  • 搜索

  • 分析

由RDS侧收取。

说明

由RDS侧计费时,按小时扣费,不同地域的实例有不同的计费。

  • 0.0122元/(GB*小时):中国(香港)和新加坡地域。

  • 0.008元/(GB*小时):除中国(香港)和新加坡外的其他所有地域。

RDS推出存储包,支持抵扣由RDS侧计费的审计日志使用量,帮助您节省支出,具体请参见存储包。

  • 搜索:查询并导出SQL语句执行历史及其对应的各种信息,如数据库、状态、执行时间等。

  • SQL洞察:对指定时间SQL进行健康情况诊断、性能问题排查、业务流量分析等。

  • 安全审计:可自动识别高危SQL、SQL注入、新增访问来源等风险。

  • 流量回放和压测:提供流量回放和压测功能,帮助您验证您的实例规格是否需要扩容,有效应对业务流量高峰。

  • 分析:对指定时间段的SQL进行分析,找出异常SQL,定位性能问题。

SQL洞察与Binlog日志的区别

RDS MySQL版的增量数据可以通过SQL洞察或Binlog日志来查看,但是两者又有区别:

  • SQL洞察:可以记录所有DQL、DML和DDL操作信息,这些信息是通过数据库内核输出,对系统CPU消耗极低。但当实例负载非常高时,会丢失少量记录,因此通过这种方式来统计增量数据可能会出现不准确的情况。

  • Binlog日志:准确记录数据库所有的增、删、改操作信息以及恢复用户的增量数据。Binlog日志先暂存在实例中,系统定期将实例中已经写完数据的Binlog日志转移至OSS保存7天。无法保存正在写入数据的Binlog文件,所以单击一键上传Binlog后仍有部分Binlog日志没有被上传。这种方式可以准确记录数据库的增量数据,但是无法获取实时日志。

使用场景

  • 对数据安全有严格要求的行业,如金融行业、安全行业、证券行业、政务行业、保险行业等。

  • 需要详细排查数据库运行情况的场景,如极端场景的问题排查、SQL语句性能排查。

  • 极端情况保护数据的场景,可以通过SQL洞察记录的SQL语句恢复数据。

注意事项

  • 在线查询时间范围最多为24小时。这是因为SQL洞察记录所有数据库行为,会记录大量SQL语句,在线查询选择时间范围过大,会导致长时间没有返回查询结果,甚至查询超时。

    说明

    如果需要查询更大时间范围的SQL记录,可以使用日志服务接入洞察日志。详情请参见采集RDS SQL审计日志。

  • 在线查询支持组合查询。例如在关键字搜索栏输入test1 test2可以查询包含test1或test2的SQL日志。

  • 在线查询不支持模糊查询。

  • 在线查询的关键字至少包含4个字符。

  • SQL洞察和审计记录的SQL语句最大长度为8192字节,并且SQL语句最大长度受loose_rds_audit_max_sql_sizeloose_rds_audit_log_event_buffer_size参数控制,参数取值范围为[0,32768],单位为字节:

    • 当参数取值小于等于8192字节时,SQL语句最大长度为参数设定值,超过部分不再记录。由于信息采集处理时会增加前缀标注,实际记录的SQL语句最大长度略小于参数设定值。

    • 当参数取值大于8192字节时,SQL语句最大长度为8192字节,超过部分不再记录。由于信息采集处理时会增加前缀标注,实际记录的SQL语句最大长度略小于8192字节。

    说明

    • RDS MySQL 5.6、5.7版本支持loose_rds_audit_max_sql_size参数控制记录长度。

    • RDS MySQL 8.0版本支持loose_rds_audit_log_event_buffer_size参数控制记录长度。

  • 如果您开启的SQL洞察为试用版,暂不支持调用API(DescribeSQLLogRecords和DescribeSQLLogFiles)查询审计日志。

  • 洞察日志包含锁等待时间,而慢日志不包含。

  • 如果使用RDS数据库代理地址连接,且代理开启了事务级连接池,由于连接可能会被复用,所以使用show processlist命令或者SQL洞察显示的IP地址和端口可能和客户端实际的IP地址和端口不一致。

  • 当程序使用Prepare方式时,会在SQL洞察中出现2条语句,一条包含问号,一条包含具体值。

  • 挂载到PolarDB-X 1.0(DRDS)的RDS MySQL实例执行一条SQL语句时,由于水平拆分(分库分表)原因,会在RDS MySQL实例上产生多条SQL洞察和审计日志。

开启SQL洞察和审计

说明

如果您在日志服务的CloudLens for RDS开启了RDS MySQL实例的审计日志采集功能,系统会自动开启对应RDS MySQL实例的SQL洞察和审计功能。详情请参见CloudLens for RDS。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 开通SQL洞察。

    • 如果RDS MySQL实例处于华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华南1(深圳)、华北3(张家口)、华北5(呼和浩特)、西南1(成都)、华南3(广州)、华南2(河源)、华北6(乌兰察布)、中国(香港)、新加坡、马来西亚(吉隆坡)和印度尼西亚(雅加达),单击一键开启,开通SQL洞察和审计

      说明

      如果您当前的阿里云账号未开通DAS专业版,请按照界面提示,开通DAS专业版,详细信息请参见购买DAS专业版。

    • 如果RDS MySQL实例处于除上述地域外的其他所有地域,单击正式版,选择SQL洞察和审计日志的存储时长并单击确定,开通SQL洞察和审计

    说明

    • SQL洞察和审计默认存储时长为30天,您可以在服务设置中修改存储时长。

    • 超过存储时长的SQL日志将被删除。

  4. 在右侧页面中单击对应功能页签即可查看相关信息。

    • 关于搜索的更多信息,详情请参见搜索。

    • 关于SQL洞察的更多信息,详情请参见SQL洞察。

    • 关于安全审计的更多信息,详情请参见安全审计。

    • 关于流量回放和压测的更多信息,详情请参见流量回放和压测。

修改SQL洞察和审计数据存储时长

警告

减少SQL洞察和审计数据存储时长后,DAS会立刻将超过存储时长的SQL审计日志清空。建议您将SQL审计日志导出并保存至本地后,再减少SQL洞察和审计数据存储时长。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 单击服务设置

  4. 服务设置页,修改存储时长并单击确定

    阿里云RDS数据库SQL洞察和审计-云淘科技说明

    • 您可以在SQL采集和分析量:处查看SQL洞察和审计的日志大小。阿里云RDS数据库SQL洞察和审计-云淘科技

    • 您也可以在实例基本信息页面的使用量统计区域查看SQL洞察和审计的日志大小。阿里云RDS数据库SQL洞察和审计-云淘科技

    • 您可以在SQL洞察和审计的搜索功能中,查询和导出SQL洞察和审计日志的具体信息。

关闭SQL洞察和审计

警告

SQL洞察和审计功能关闭后,SQL洞察和审计的日志会被清空。建议您将SQL洞察和审计的日志导出并保存至本地后,再关闭SQL洞察和审计功能。当重新开启SQL洞察和审计功能时,SQL洞察和审计的日志将从本次开启SQL洞察和审计的时间开始记录。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 搜索页签的日志列表区域,单击导出

    阿里云RDS数据库SQL洞察和审计-云淘科技

  4. 在弹出的对话框中,选择导出字段和导出时间范围,单击确认

  5. 导出完成后,在查看导出列表中,下载已导出的文件并妥善保存。

  6. 服务设置页,关闭SQL洞察和审计的开关,勾选关闭SQL洞察服务后所有的相关数据将被清空后,单击关闭服务

    说明

    如果您在日志服务的CloudLens for RDS开启了RDS MySQL实例的审计日志采集功能,系统会自动开启对应RDS MySQL实例的SQL洞察和审计功能,因此您还需要关闭该数据库实例的审计日志采集功能。详情请参见CloudLens for RDS。

迁移旧版SQL洞察和审计到新版

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 单击迁移到新版

  4. 迁移到新版窗口,选择数据存储时长后,单击确定

警告

迁移操作无法终止和回退,请仔细阅读迁移说明。

常见问题

Q:SQL洞察全量请求统计区域中的logout!语句是什么?

A:logout!是指连接断开。logout!的耗时,是指上一次交互时间到logout!发生时间的差值,可以理解为连接空闲的时长。状态列的1158是指网络链接断开,其可能的原因是:

  • 客户端连接超时。

  • 服务端异常断开。

  • 服务端连接Reset(超过interactive_timeout或wait_timeout时长)。

Q:SQL洞察来源统计中,为什么会出现%访问来源

A:该情况可能在您使用存储过程时出现。按如下示例可以复现这种情况:

说明

示例中数据库实例为RDS MySQL,测试账号为test_user,测试数据库为testdb。

  1. 在RDS控制台创建普通权限账号及其授权的数据库,详细操作请参见创建数据库和账号。

  2. 使用测试账号通过命令行方式连接数据库实例,详细操作请参见通过客户端、命令行连接RDS MySQL实例。

  3. 切换到测试数据库,并创建如下存储过程。

    -- 切换到测试数据库
    USE testdb;
    
    -- 创建存储过程
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. 使用高权限账号连接数据库实例,详细操作请参见通过客户端、命令行连接RDS MySQL实例。

  5. 调用存储过程。

    -- 切换到测试数据库
    USE testdb;
    
    -- 调用存储过程
    CALL das();
    
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

Q:为什么RDS MySQL数据库实例搜索功能的日志列表中,有些SQL语句实际有数据返回,但扫描行数显示为0?

A:A:数据库实例开启了query_cache_type。日志列表中,SQL语句的扫描行数统计的是在InnoDB引擎层扫描的行数,开启query_cache_type后,MySQL会尝试将查询结果缓存起来,如果后续有相同的查询请求到来,且查询缓存命中,则不会再到InnoDB层进行查询,直接返回缓存结果。因此,实际有数据返回,但日志列表中统计的扫描行数为0。详情请参见Fast Query Cache。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/154478.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 阿里云RDS数据库解绑标签-云淘科技

    如果实例调整或者不再需要标签,您可以解绑该实例的标签。 限制说明 每次解绑的标签数量不能超过20个。 任一标签在解绑后,如果没有绑定任何实例,则该标签会被删除。 操作步骤 登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域。 在下列方式中选择一种方式操作: 解绑单个实例的标签: 将鼠标悬浮于目标实例右侧的图标上,在弹出的窗口中单击编辑 。 单击要解…

    阿里云数据库 2023年12月9日
  • 阿里云RDS数据库变更增强监控指标项-云淘科技

    调用ModifyDBInstanceMetrics变更RDS PostgreSQL实例需要展示的增强监控指标。 前提条件 实例为RDS PostgreSQL。 本功能对应的控制台文档,请参见查看增强监控。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库SQL审计(数据库审计)-云淘科技

    您可以通过RDS SQL Server的SQL审计功能查看SQL明细、定期审计SQL。开通SQL审计功能后,实例性能不会受到影响。 注意事项 开启SQL审计功能之前的记录无法查看到。 开通SQL审计功能后,实例性能不会受到影响。 SQL审计的保存时间为30天。 SQL审计导出的文件可以保存2天,超过2天的会被系统定时清理。 SQL语句长度限制为2000字节,…

    阿里云数据库 2023年12月9日
  • 阿里云RDS数据库导入用户备份-云淘科技

    调用ImportUserBackupFile接口将自建库MySQL的备份数据导入至RDS。 说明 用户备份即MySQL自建库的全量备份数据,您可以将用户备份恢复至云上。 调用本接口,您需要满足下述条件: 已通过XtraBackup备份自建MySQL 5.7,备份文件名以_qp.xb结尾。更多信息,请参见自建MySQL 5.7数据库全量上云。 已将自建MySQ…

    阿里云数据库 2023年12月9日
  • 阿里云RDS数据库ModifyDBInstanceSpec – 变更RDS实例-云淘科技

    该接口用于变更RDS实例的规格和存储空间等。 接口说明 适用引擎 RDS MySQL RDS PostgreSQL RDS SQL Server RDS MariaDB 相关功能文档 警告 该API操作涉及费用,请仔细阅读相关功能文档后再进行操作。 RDS MySQL变更配置 RDS PostgreSQL变更配置 RDS SQL Server变更配置 RDS…

    阿里云数据库 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。