SQL黑名单

该功能仅用于限制查询语句,并且不会限制 explain 语句的执行。 支持按用户配置SQL黑名单:

通过正则匹配的方式拒绝指定SQL

通过设置partition_num, tablet_num, cardinality, 检查一个查询是否达到其中一个限制

partition_num, tablet_num, cardinality 可以一起设置,一旦一个查询达到其中一个限制,查询将会被拦截

规则

对SQL规则增删改查

创建SQL阻止规则
sql:匹配规则(基于正则匹配,特殊字符需要转译),可选,默认值为 “NULL”
sqlHash: sql hash值,用于完全匹配,我们会在fe.audit.log打印这个值,可选,这个参数和sql只能二选一,默认值为 “NULL”
partition_num: 一个扫描节点会扫描的最大partition数量,默认值为0L
tablet_num: 一个扫描节点会扫描的最大tablet数量,默认值为0L
cardinality: 一个扫描节点粗略的扫描行数,默认值为0L
global:是否全局(所有用户)生效,默认为false
enable:是否开启阻止规则,默认为true

CREATE SQL_BLOCK_RULE test_rule
PROPERTIES("sql"="select * from order_analysis","global":"false","enable"="true","sqlHash"=""
)

当我们去执行刚才我们定义在规则里的sql时就会返回异常错误,示例如下:

mysql> select * from order_analysis;
ERROR 1064 (HY000): errCode = 2, detailMessage = sql match regex sql block rule: order_analysis_rule
创建 test_rule2,将最大扫描的分区数量限制在30个,最大扫描基数限制在100亿行,示例如下:
CREATE SQL_BLOCK_RULE test_rule2 PROPERTIES("partition_num" = "30", "cardinality"="10000000000","global"="false","enable"="true")
查看已配置的SQL阻止规则,不指定规则名则为查看所有规则
SHOW SQL_BLOCK_RULE [FOR RULE_NAME]
修改SQL阻止规则,允许对sql/sqlHash/partition_num/tablet_num/cardinality/global/enable等每一项进行修改
sql 和 sqlHash 不能同时被设置。这意味着,如果一个rule设置了sql或者sqlHash,则另一个属性将无法被修改
sql/sqlHash 和 partition_num/tablet_num/cardinality 不能同时被设置。举个例子,如果一个rule设置了partition_num,那么sql或者sqlHash将无法被修改
ALTER SQL_BLOCK_RULE test_rule PROPERTIES("sql"="select \\* from test_table","enable"="true")
ALTER SQL_BLOCK_RULE test_rule2 PROPERTIES("partition_num" = "10","tablet_num"="300","enable"="true")
删除SQL阻止规则,支持多规则,以,隔开
DROP SQL_BLOCK_RULE test_rule1,test_rule2

用户规则绑定

如果配置global=false,则需要配置指定用户的规则绑定,多个规则使用,分隔

SET PROPERTY [FOR 'jack'] 'sql_block_rules' = 'test_rule1,test_rule2'

Doris之拦截规则 sql黑名单相关推荐

  1. druid sql黑名单 报异常 sql injection violation, part alway true condition not allow

    最近使用druid,发现阿里这个连接池 真的很好用,可以监控到连接池活跃连接数 开辟到多少个连接数 关闭了多少个,对于我在项目中查看错误 问题,很有帮助, 但是最近发现里面 有条sql语句 被拦截了, ...

  2. sql批量插入防止重复插入_使用具有严格业务规则SQL批量插入

    sql批量插入防止重复插入 This article will cover SQL bulk insert operations deterministic outcomes and response ...

  3. Spring AOP拦截规则的两种定义方式

    Spring AOP拦截规则的两种定义方式 AOP的根本目的就是解耦,分开业务代码与系统共用代码,例如打印日志. Spring支持AspectJ的注解式切面编程,主要包含4个部分,分别是 使用@Asp ...

  4. adguard拦截规则存在哪里_广告拦截软件Adguard怎样配置才能更全面的发挥作用

    相信很多伙伴都对网上的各种各样的广告感到厌烦,Adguard是一款屏蔽拦截网页的软件, 可以支持市面上几乎所有的浏览器,今天小编就给大家介绍一下如何配置Adguard. 第一步:通过拦截规则开始隐私保 ...

  5. SpringSecurity学习笔记(三)自定义资源拦截规则以及登录界面跳转

    参考视频,编程不良人 由前面的学习可以知道,SS的默认的拦截规则很简单,我们在项目中实际使用的时候往往需要更加复杂的拦截规则,这个时候就需要自定义一些拦截规则. 自定义拦截规则 在我们的项目中,资源往 ...

  6. AdblockPlus拦截规则简单教程

    拦截规则的种类 Blocking filters 应用于网络级别,以决定是否应阻止请求. Content filters 隐藏页面上的特定元素,包括使用扩展选择器(模拟)和代码段隐藏的元素 Excep ...

  7. adguard拦截规则存在哪里_AdGuard 过滤规则分享

    前言 我和很多人一样一开始用 Maxthon 傲游浏览器,然后见证了国内第三方浏览器的群雄逐鹿到只剩下 360 和腾讯,现在也基本回归 Google Chrome,广告过滤我也是一路从 AdBlock ...

  8. 修改sql服务器排序规则,SQL SERVER数据库服务器排序规则修改

    SQL Server服务器修改排序规则的方法 操作及验证步骤: 1 登录数据库后,查看当前安装数据库默认排序规则的两种方式 方式一.使用SQL Server 2014 Management Studi ...

  9. adguard拦截规则存在哪里_Adguard怎么用-使用Adguard拦截广告的方法 - 河东软件园...

    Adguard是一款用于拦截广告的软件,但是它和普通的广告拦截软件相比较功能更加的丰富,使用这款软件中的功能大家可以对浏览器的广告进行拦截,也可以开启家长控制的模式,阻止小朋友们长时间使用电脑.出了这 ...

最新文章

  1. ubuntu下面搭建SolrCloud集群
  2. MindFusion Pack for ASP.NET发布v2013.R2
  3. 发言稿开场白范文_发言稿开场白
  4. jquery触发点击事件
  5. 时间序列多步预测_使用LSTM深度学习模型进行温度的时间序列单步和多步预测...
  6. Django:ORM基本操作-CRUD,管理器对象objects,----->查询2(filter,exclude,get,查询谓词)
  7. jenkins-邮件通知
  8. Linux源码下Makefile详解(参照Documentation\kbuild\makefiles.txt和资料)-转
  9. Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)
  10. Vercel部署网易云音乐api
  11. java同步器有哪些_java 同步器 Semaphore、
  12. uni-app 启动手机模拟器
  13. 使用MS Project创建项目计划
  14. 支撑起SNS的六度分隔理论和150法则
  15. 域格LPM2100 me NB模块PSM相关问题
  16. file_operations结构体介绍
  17. pytorch学习笔记-num_workers的设置
  18. 软件危机下的大众汽车ID.3能正常交付吗?
  19. JDK1.8 MacOS下载安装
  20. 12个Excel实用小技巧

热门文章

  1. python中函数startswith的用法_Python中的startswith和endswith函数使用实例
  2. halcon——在图形窗口中画坐标系
  3. ms12_004漏洞进行渗透
  4. while 中 break 与 continue 的区别
  5. Linux命令解释之crontab
  6. 回车提交、连续点击、layer提示
  7. Amazon S3 API
  8. mysql客户端重庆_MySQL:MySQL工具以及5.7mysqlbinlog|mysql速度极慢问题
  9. 自定义beans.xml文件实现Spring框架
  10. 尝试使用iReport4.7(基于Ubuntu Desktop 12.04 LTS)