【生态适配-爱可生开源社区】SQL审核 | SQLE 全面支持 TiDB 审核

一、SQLE 项目介绍

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

SQL审核工具 SQLE 1.2206.0-pre1 于今天发布。以下对新版本的 Release Notes 进行详细解读。

注:本次升级为预览版本,仅可用新功能试用,不保证平滑升级

文章主要分为以下三部分内容:

一、SQLE 项目介绍

二、新版本主要功能介绍

三、完整的release信息

SQLE 获取

类型 地址
版本库 https://github.com/actiontech/sqle
文档 https://actiontech.github.io/sqle-docs-cn/
发布信息 https://github.com/actiontech/sqle/releases
数据审核插件开发文档 https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html
社区版在线体验 http://124.70.158.246:8888/ 超级管理员:admin,密码:admin。
企业版在线体验 http://124.70.158.246:8889/ 用户:admin,密码:admin。

二、新版本主要功能介绍

1. 支持TIDB审核插件【企业版】

SQLE通过插件的形式支持TiDB的审核,我们调研了MySQL与TiDB的部分差异,在TiDB插件内引入了大部分MySQL的审核规则,并去掉TiDB不兼容的场景,使得SQLE能够完全兼容TiDB。后面我们会通过专门的文章来介绍TiDB的插件。以下是TiDB规则的截图:
%E5%9B%BE1

2. 支持TiDB专属审核规则【企业版】

group by语句必须包含select列表中的所有非聚合列
检查 SQL需要遵守 ‘MySQL的ONLY_FULL_GROUP_BY’ 模式;例如:select a, b, sum(c) from t group by a 中 SELECT 列表中的非聚合列 “b” 在 GROUP BY 语句中不显示。下面是SQLE规则截图:
%E5%9B%BE2

group_concat() 语法必须使用 order by

例如:SELECT GROUP_CONCAT(a) FROM t 中 GROUP_CONCAT 函数内没有明确指定排序方式。下面是SQLE规则截图:
%E5%9B%BE3

limit 分页查询必须使用排序

例如:select a from t limit 5 中未指定排序方式。下面是SQLE规则截图:
%E5%9B%BE4

未使用自增主键/自动随机主键写入

例如:insert into t (id, name) values (1, “xx”); --ID是自增主键。此时使用显示 ID 写入,可能导致自动分配的主键值冲突,建议使用自增 ID 自动写入。下面是SQLE规则截图:
%E6%9C%AA%E4%BD%BF%E7%94%A8

高并发写入表不建议使用自增主键

例如:create table t ( id int primary key auto_increment ); TiDB 中使用 auto_increment 自增属性时,容易导致写入热点,建议使用 bigint 类型和 AUTO_RANDOM 替代。下面是SQLE规则截图:
%E5%9B%BE5

三、完整的release信息

Release Notes

特性

  • [#565] 支持 TiDB 类型数据库审核【企业版】

  • [#573] 新增4条TiDB专属规则【企业版】

    • 禁用 non-full group by 语法

    • group_concat() 语法必须使用order by

    • limit 分页查询必须使用排序

    • 未使用自增主键/自动随机主键写入

    • 高并发写入表不建议使用自增主键

缺陷修复

  • [#563] 修复SQLE scanner 解析带有空otherwise标签的 mybatis XML时异常崩溃

往期版本:

SQLE 1.2205.0 来啦!

SQLE 1.2204.0 来啦!

SQLE 1.2203.0 来啦!

推荐阅读:

这里有 MySQL/Oracle 最常用的 SQL 开发规则

如何快速使用 SQLE 审核各种类型的数据库

SQLE 兼容 MySQL 8.0 测评

SQLE 如何开发一条自定义的规则

如何使用 SQLE 进行开发阶段 SQL 审核

2 个赞

雍正猫可算是支持 TiDB 了,不错哦~ :clap:

1 个赞

棒棒!

1 个赞

关注很久了,支持支持~

1 个赞

支持一个 :+1:

1 个赞

:call_me_hand::+1:

1 个赞

:call_me_hand::+1::call_me_hand:

1 个赞

支持一下

非常赞

[quote=“ShawnYan, post:2, topic:694067”]
雍正猫
[/quote]是如何解释?

参见sqle官微

我也想问,雍正猫什么梗?
爱可生终于做了非MySQL的了。


:wink:

very good!!