1 遇到的问题

(1)发版小心谨慎。新版本发版(SQL由开发环境转入测试环境、测试环境迁移正式环境)经常一些SQL语句忘记执行,导致花大量时间定位bug,最终发现是sql引起的。

(目前基于人工记录的方式,经常会有记录漏的情况,包含系统字典的配置及新增的sql语句)

(2)DDL语句不规范。目前开发的项目为自行建表,出现了部分表没有注释,导致后续维护困难的现象。

(3)数据库回滚不方便。在遇到一些场景需要恢复数据库的时候,无法快速有效的对数据库进行回滚。

2 目的

(1)SQL审核查询平台的主要目的是将不同环境的SQL进行平稳迁移,同时在一定程度保证数据表的安全性。

(2)保护正式环境,对delete、drop语句进行权限隔离

(3)数据库细粒度的权限控制,为不同用户分配不同权限。

(4)具有回滚功能,执行出错可以一键回滚。

3 为什么选用Yearning

目前市面上有Sqle、Archery等开源工具均具有sql审核功能。其中yearning的星级较高被广泛使用,且功能简洁主要的功能就是SQL审核。

4 部署教程

(1)在以下地址下载安装包

https:///cookieY/Yearning/releases

(2)解压

(3)修改配置文件

cat conf.toml


[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "xxxx"
User = "root"

[General]   #数据库加解密key,只可更改一次。大小写字母均可, 长度必须为 16 位 如长度不是16位将会导致无法新建数据源
SecretKey = "dbcjqheupqjsuwsm"

(4)安装启动

./Yearning install

./Yearning run --push "172.27.80.35" -port "8000"

打开浏览器    http://127.0.0.1:8000

默认账号/密码:  admin/Yearning_admin

5 具有的功能

  • SQL 查询
  • 查询工单
  • 导出
  • 自动补全,智能提示
  • 查询语句审计
  • 查询结果脱敏
  • SQL 审核
  • 流程化工单
  • SQL语句语法检测
  • 根据规则检测SQL语句合规性
  • 自动生成DDL/DML回滚语句
  • 历史审核记录
  • 推送
  • E-mail 工单推送
  • 钉钉 webhook 机器人工单推送
  • 用户权限及管理
  • 角色划分
  • 基于用户的细粒度权限
  • 注册
  • 其他
  • todoList
  • LDAP 登录
  • 动态审核规则配置
  • 自定义审核层级
  • OIDC SSO 自动注册与登录
  • AutoTask 自执行

6 系统界面

  • Dashboard

sql server c2审核 作用 sql审核平台_sql

  • 审核

sql server c2审核 作用 sql审核平台_数据库_02

  • 查询(SQL 语法高亮及自动补全)

sql server c2审核 作用 sql审核平台_1024程序员节_03

  • 审计(工单审计)

sql server c2审核 作用 sql审核平台_数据库_04