
一、为什么要使用SQL审计平台
1、数据库连接的安全问题是任何公司都需要考虑的问题。
2、后端程序员常常会应各种原因需要通过数据库查询排查问题或通过SQL直接更改数据。
3、技术主管或DBA需要 review 生产执行的所有SQL,以防出现危险SQL操作。
4、当出现问题时,如何快速排查定位到具体责任人。
二、为什么选择 Yarning
根据我们的具体需求和使用人数,我们选择 Yarning 的原因是:
1、基本满足我们的需求
2、操作简单,界面简洁
3、开源免费,Star 多
三、如何使用
测试环境
http://10.0.40.111:8000/#/order
账号:admin,密码:---
四、问题
1、检查功能不准确?
Yearning 的检查实际上是执行计划,即SQL的扫描行数,而非影响行数。
Yearning 有审核规则限制执行语句的扫描行数,这导致有一些同学的 DML 语句无法执行,其实这个问题主要是因为你的 DML 语句的 Where 条件没有命中索引,如果实在无法命中索引,可以通过查询到主键ID,然后再直接使用 IN 主键ID集合来执行 DML 。
2、批量执行不是一个事务?
是的,目前看来,一个工单中的多条语句不是一个事务提交的,是分开一个一个执行的,且目前没有地方可以设置成一个事务执行。
3、为什么有的工单有回滚语句,有的没有?
Yearning 采用解析binlog方式的方式获得回滚语句。
由于Mysql replication协议限制,必须拥有SUPER/REPLICATION SLAVE, REPLICATION CLIENT ,ALL PRIVILEGES 权限的账号才可以获得binlog流。
所以,如想体验生成回滚语句备份功能,请确保对应填写的数据源账号拥有相应权限,同时对应数据源应开启binlog功能。
其次提交的工单需要选择备份。
4、无法实现多环境同步工单执行?
是的,虽然赞助版本有不同环境工单复制的功能,但目前看来,它的复制方式并不快捷,且因为我们测试没有对同学做,所以还不如我们手动复制执行来的快。




