tencent cloud

数据库智能管家 DBbrain

动态与公告
产品动态
公告
产品简介
产品概述
产品功能
产品优势
应用场景
功能列表
地域列表
购买指南
操作指南
访问管理
自建数据库接入
实例概览
实例管理
监控告警
健康报告及 Kill 会话报告管理
MySQL/TDSQL-C 诊断优化
TDSQL MySQL/MariaDB 诊断优化
分布式缓存数据库(Distributed Cache)诊断优化
MongoDB 诊断优化
全链路分析
实践教程
如何解决 MySQL 实例 CPU 使用率高问题
如何解决 MySQL 实例锁冲突问题
如何解决 Distributed Cache 实例 CPU 使用率高问题
如何解决 MongoDB 实例 CPU 使用率高问题
如何解决 MongoDB 节点 Oplog 保存时间太短
API 文档
History
Introduction
Introduction
API Category
Making API Requests
Session Killing APIs
Exception Detection APIs
Other APIs
Redis related APIs
Health Report Email Sending APIs
Space Analysis APIs
Slow Log Analysis APIs
Security Audit APIs
Database Audit APIs
Data Types
Error Codes
DBbrain APIs 2019-10-16
常见问题
自建数据库问题
MySQL 性能问题
产品常见问题
服务等级协议
词汇表
联系我们

创建 SQL 限流任务

PDF
聚焦模式
字号
最后更新时间: 2025-07-09 14:51:24
DBbrain 提供 SQL 限流功能,您可以通过创建 SQL 限流任务,自主设置 SQL 类型、最大并发数、限流时间、SQL 关键词,来限制数据库的请求访问量和 SQL 并发量,进而达到服务的可用性,不同的任务之间不会发生冲突。
SQL 限流功能还支持查看、关闭和删除 SQL 限流任务。

支持版本

MySQL:仅支持 MySQL5.7-20200331及以上版本、MySQL5.6-20200915及以上版本、MySQL8.0-20211202及以上版本。
TDSQL-C for MySQL:仅支持 MySQL5.7-2.1.9以上版本、MySQL8.0-3.1.5及以上版本。

操作步骤

创建 SQL 限流任务

1. 登录 DBbrain 控制台
2. 在左侧导航栏,选择诊断优化。
3. 在页面上方选择数据库类型和实例 ID,选择实时会话页签。
4. 实时会话页面,选择 SQL 限流页签。

5. 单击创建任务,根据页面提示配置任务参数,配置完成后,单击确定

参数说明如下表所示。
参数
说明
SQL 类型
包括 SELECT、UPDATE、DELETE、INSERT、REPLACE。
最大并发数
为 SQL 最大并发数,当包含关键词的 SQL 达到最大并发数时会触发 SQL 限流策略。如果该值设为0,则表示限制所有匹配的 SQL 执行。
执行方式
包括定时关闭手动关闭
定时关闭:选择定时关闭后,需设置任务限流时间,提交任务后即开始执行,执行时间结束自动关闭任务。任务执行过程中也支持在任务列表操作列手动关闭任务。
手动关闭:选择手动关闭后,提交任务后将一直执行,直到在任务列表的操作列手动关闭任务,任务才可终止。
SQL 关键词
为需要限流的 SQL 关键词。
可输入 SQL 语句。系统将以英文空格、逗号和换行符为分隔符,自动拆分关键词,多个关键词之间的关系为“逻辑与”,不区分先后顺序。
说明:
由于 SQL 关键词按照字符串匹配,且不区分关键词的顺序及是否指代库名表名,所以 SQL 关键词输入的更多,限流越精确。
若需要分库分表限流,SQL 关键词中请输入库名前缀或表名前缀。例如,当需要对存在相同前缀的多个表(例如,user_01、user_02、user_03等)进行限流时,SQL 关键词设置示例如下:

由于 SQL 关键词按照字符串匹配,所以类似以下 SQL 语句也可能会触发上述指定关键词的限流任务。
select *,user_ from server;
当实例达到限流任当务设置的最大并发数时,含 SQL 的关键词的 SQL 语句被拒绝执行。
SQL 限流中被拒绝语句的错误码显示为:ERROR 4513: SQL rejected by CDB_SQL_FILTER

查看、关闭和删除 SQL 限流任务

1. 进入 SQL 限流任务列表。
2. 查看、关闭和删除 SQL 限流任务。

列表参数说明如下表所示。
参数
说明
类型
包括 SELECT、UPDATE、DELETE、INSERT、REPLACE。
状态
包括运行中已完成已终止
运行中:任务正在执行中。
已完成:执行方式为自动关闭的任务,在指定的任务限流时间结束后自动关闭。
已终止:分为以下两种情况。
执行方式为自动关闭的任务,在指定的任务执行时间结束前手动关闭。
执行方式为手动关闭的任务被手动关闭。
关键词
创建 SQL 限流任务时设置的关键词。
开始时间
限流任务开始执行时间。
剩余时间
限流任务剩余的限流时间。
当创建任务时任务执行时间为自动关闭
当状态为运行中剩余时间 = 限流时间(创建任务时设置的)- 开始时间 (任务列表中显示的)
当状态为已完成已终止,则剩余时间为0。
当创建任务时任务执行时间为手动关闭:剩余时间显示--。
最大并发数
创建 SQL 限流任务时设置的最大并发数。
来源
用户发起:为实时会话页面创建的 SQL 限流任务。
操作
查看任务详情:在操作列单击详情,查看任务的开始时间、执行时间、结束时间、已拒绝 SQL 数。
关闭任务:当需要终止状态为运行中的任务时,可在操作列单击关闭
删除任务:当需要删除状态为已终止已完成的任务时,可单个或批量删除任务。
单个删除:在任务对应的操作列单击删除
批量删除:在热点更新保护任务列表选择一个或多个待删除的任务,在任务列表上方单击删除

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈