一、背景介绍
Sql审计就是对需要在数据库执行的ddl、dml、select语句进行检查,避免sql在执行时出现问题。通过sql审核可以减少在正式执行时出现问题,也可以规避sql执行时的风险
Sql问题包括:
语法错误:sql语法结构不正确,标点符号不正确等
语义错误:sql中的库名、表名、字段名等不正确
规则错误:不符合sql规范,没有指定主键、字段类型不正确等
人工审核:
1、DBA与开发人员,循环交互。DBA发现问题sql返给开发修改,开发修改后, DBA进行二次检查,循环审核,直到sql没有问题
2、审核时间长,效率低。项目上线会有大量的sql进行审核,人工审核时间较长。
3、主观性:不同DBA对sql规范的理解不同,会存在宽松不均的问题
4、执行前需要检查数据库环境及sql影响范围,备份然后执行,过程冗长
5、执行后检查
二、功能与版本
基于人工审核的成本较高并且不可控性因素较多,自动审核工具应运而生。
Yearning是集审核、执行、回滚于一体的一个自动化运维系统。
版本:
1、yearning v1.4.7及以下版本:
基于inception,需要自行配置安装inception,现inception已整合进arkcontrol数据库云管平台
2、yearning -go 2.0.0及以上版本:
提供二进制安装,不依赖于任何第三方sql审核工具作为审核引擎,内部已自己实现审核回滚相关逻辑
三、安装
版本:yearning v2.15
版本介绍:
1、mysql版本必须是5.7及以上版本,自行安装mysql及创建yearning数据库,字符集 为:utf-8/utf8mb4
2、仅要求存放yearning数据库的mysql版本为5.7及以上,其他数据库不做要求
3、yearning日志仅输出error级别,没有日志即可认为无运行错误
4、推荐使用chrome浏览器最新版本
下载地址:github.com/cookieY/Yearni