Yearning软件是一款可以能够帮助用户对MYSQL web端SQL数据库进行审核的软件,该软件内置有SQL查询、SQL审核、SQL推送、导入导出、审核记录查询、用户权限及管理等多种功能,同时又软件是一款绿色安全、免费开源的专业SQL数据库审核软件,可以能够帮助用户进行简单专业的SQL数控查询、编辑、管理和审核等多种操作;Yearning支持任何二次开发及二次开源项目,任何用户都可下载该源码进行安装使用,可以能够有效帮助用户进行SQL语句检测、为用户能够提供SQL语句提示,可帮助用户快速高效的进行SQL数据检测审核,非常方便实用。

软件功能
我的工单
对于执行失败/驳回的工单点击执行信息后可以能够重新修改sql并提交
对于执行成功的工单可以能够点击执行信息查看回滚语句并且快速提交SQL
提交工单-DDL
如果想获取表结构详细信息,必须选填表名并完整填写工单信息。
所有的SQL只有在检测后错误等级为0时提交按钮才会激活。
如下拉列表框内没有相关数据源显示请联系管理员是否赋予相应数据源权限
提交工单-DML
查询语句请走查询页面不要将查询语句放入DML审核
查询
如果开启查询审核,提交该查询申请后需对应审核人同意后方可查询。
超级管理员在设置页面开启数据导出功能后,查询申请页面才会显示数据导出按钮
由于导出数据为.csv格式 如导出数据中有json等以含有逗号的数据会造成数据分隔异常的问题(csv 默认使用逗号分隔)
获取表结构功能必须点击相应表名此为前置条件
快速提交功能仅支持同查询数据源的DML语句(查询数据源必须为读写类型)
如下拉列表框内没有相关数据源显示请联系管理员是否赋予相应数据源权限
工单审核
实时刷新开关默认打开,如需删除记录请先关闭该开关。
如定时工单的时间小于当前时间,执行该工单将会立即执行(请确保Yearning所在环境时区与使用者时区一致,否则会导致定时执行异常!)
目前仅支持延时工单中止,其他工单执行后无法中止!
执行成功的工单可点击执行信息按钮后查看回滚语句
查询审核
点击全部中止按钮将会中止所有用户的查询权限 如没有在设置页面开启查询审核开关,则默认用户查询申请提交后自动获得查询权限。 用户查询时限请在设置页面进行设置。
点击清除空查询工单,可删除无查询记录的空查询工单(此情况多发生于用户申请了查询工单后并没有查询的情况)
用户管理
当多级审核关闭后系统并不会自动将角色为执行人的用户重置角色,请自行重置相应用户角色。
数据库管理
所有添加的数据源应在添加之前点击测试连接按钮进行连接性测试,保证连接性。
数据源分为查询数据源/非查询数据源/读写数据源。查询数据源仅会出现在细粒度权限的查询数据源范围内。非查询数据源同理。(对于查询与执行数据源应拆分为二,保障线上执行数据源不会因为查询慢sql影响业务)默认为读写数据源。此类别添加后无法通过编辑进行修改,请慎重添加。
数据源详细信息处密码为假密码展示并不会回传真实密码信息(并不妨碍编辑修改密码)确保安全性
设置
ldap设置请参考 yearning ldap配置
目前ldap并没有实现基于filter的过滤搜索,仅支持全局搜索。
由于ldap测试并没有进行dc搜索(管路员用户并不需要dc搜索),所以测试成功并不代表ldap用户100%可访问.即填对了ldap管理员用户信息但SCBASE信息填写有误.
目前脱敏规则为无差别化脱敏,不管查询什么库只要该字段符合脱敏规则就会自动隐式显示
输入框配置,必须点击添加按钮,使配置添加后保存才生效。
所有设置均即时生效,其他用户刷新页面后即可。
审核规则
数值型规则0值都为不受限制。
开启检查时间字段默认值,所有时间类型字段都必须设置默认值且默认值必须为CURRENT_TIMESTAMP
osc相关规则请参考相关工具参数说明。
OSCMinTableSize当表体积大于该值时如果启动osc则走osc执行。
受制于各种条件影响, 影响行数判断并不一定准确,走主键及索引的语句会提交准确性,仅作为部分参考,如预测结果偏移量较大。可考虑语句性能是否存在可优化空间或提高影响行数上限。(影响行数基于explain)
文本类型输入框填写多值时请使用英文逗号分隔 (例如:charset范围,collate范围)
AutoTask
用户可通过改功能设置自动执行任务。当提交的dml语句符合相应任务条件。将会自动执行,无需审核人审核。
该功能仅限dml语句使用。请慎重使用!
软件特色
1、SQL查询
查询导出
查询自动补全
2、SQL审核
流程化工单
SQL语句检测
SQL语句执行
SQL回滚
SQL自动审核执行
3、历史审核记录
4、查询审计
5、推送
E-mail工单推送
自定义webhook消息推送
6、其他
LDAP登陆
用户权限及管理
权限组划分
自定义审核层级
安装方法
注意事项
Yearning 不依赖于任何第三方 SQL 审核工具作为审核引擎,内部已自己实现审核/回滚相关逻辑。
仅依赖 Mysql 数据库。
mysql 版本必须为5.7及以上版本(8.0及以上请将sql_mode 设置为空)并已事先自行安装完毕且创建 Yearning 库,字符集应为 UTF8mb4 (仅 Yearning 所需 mysql 版本)
Yearning 基于 1080p 分辨率开发仅支持 1080p 及以上显示器访问
对于设置页面配置重叠的问题请确认自己的分辨率以及是否进行了放大操作
请使用 Chrome 最新版本(不包括 360 等其他魔改版本)
Yearning 下载
Yearning-go 能够提供二进制下载包
请选择最新版本 在 Assets 中选择 Yearning-x.x.x.linux-amd64.zip 包进行下载
如需进行代码修改或自己编译请移步至二次开发页面
Yearning 目录结构

1.填写配置文件

关于 SecretKey
SecretKey 是 token/数据库密码加密/解密的 salt。
建议所有用户在初次安装 Yearning 之前将 SecretKey 更改(不更改将存在安全风险)
格式: 大小写字母均可, 长度必须为 16 位 如长度不是16位将会导致无法新建数据源
特别注意:
此 key 仅可在初次安装时更改!之后不可再次更改!如再次更改会导致之前已存放的数据源密码无法解密,最终导致无法获取相关数据源信息
使用帮助

2.初始化数据结构
./Yearning -m
请务必在-s 启动前首先执行-m 初始化操作!
如要再次初始化,请先把 yearning 库下所有表删除,否则重复执行无效
3.启动服务
默认启动
./Yearning -s
参数启动
./Yearning -s -b 172.27.80.35 -p 8000
打开浏览器 http://172.27.80.35:8000
默认账号/密码:admin/Yearning_admin
注意事项
语法支持
Yearning 目前兼容99%的Mysql 标准SQL语法。
但由于审核逻辑等因素的限制,对一些SQL语句并不能保证得到正确的反馈
已知不支持的语句类型有:
复杂的查询语句(多表,多函数,非必现。并不是所有复杂语句不支持)
外键相关语句
不支持跨库DML语句的回滚
存储过程/触发器
影响行数
Yearning采用Explain分析SQL语句的影响行数。由于Explain生成的影响行数受主键,索引等其他因素的影响,并不能100%保证其准确性。其更多的是反应了该语句导致的全表扫描行数,所以对于误差较大的语句具有一定的优化参考意义。
预检查
Yearning采用预检查的方法进行SQL检测,对于同一工单内添加并编辑的语句会产生字段不存在的错误。(在2.3.0版本开始将逐步兼容)
例如
ALTER TABLE core_data_sources ADD t1 int( 11) DEFAULT 0 COMMENT '已退换货数量';
ALTER TABLE core_data_sources ADD t2 int( 11) DEFAULT 0 COMMENT '申请中数量' AFTER t1;
该工单第二条语句依赖第一条语句创建的字段。由于当前数据库并没有t1这个字段,所以该工单检测时会报错t1字段不存在的问题。
语句本身没有问题因为在mysql执行中是逐条执行并检测。当第一条执行后表内生成该字段,第二条执行前检测自然也就正常。
使用osc
Yearning采用exec调用pt-osc的方式使用pt功能。管理员需在规则设置页面中填写相关pt-osc配置,并打开osc使用开关。 需要注意的是,使用pt-osc的DDL语句不得含有 dbname.tablename 这样的写法!请符合pt-osc写法!
生成回滚语句
Yearning 采用解析binlog方式的方式获得回滚语句。由于Mysql replication协议限制,必须拥有SUPER/REPLICATION SLAVE, REPLICATION CLIENT ,ALL PRIVILEGES 权限的账号才可以能够获得binlog流。所以,如想体验生成回滚语句备份功能,请确保对应填写的数据源账号拥有相应权限,同时对应数据源应开启binlog功能。
更新日志
2020-11-25 Yearning v2.3.1
新增指定表名前缀审核规则(sponsor版本)
新增支持外键审核(sponsor版本)
支持企业微信消息推送 (Sponsor 版本)
审核人支持移动端审核(sponsor版本)
审核规则新增基于主键回滚开关(sponsor版本)
前端文件不再需要单独部署(已融入二进制中)
允许drop/create视图并可生成回滚语句
修复首页饼图文案展示错误
修复首页趋势图数据倒序的问题
修复autotask分页问题
修复之前发现的脱敏问题
修复DML不同库的语句只会生成最后一条的问题
修复DML多条语句中某条符合AutoTask时整个工单执行的逻辑错误
修复多条语句执行执行并有部分错误时 正确语句反馈信息错误的问题
修复加载标识符载入错误
修复结束查询后没有清空工单信息的问题
2020-09-15 Yearning v2.3.0
BUGFIX
修复删除用户后对应权限组审核人无法删除的问题
修复date类型可以能够设置CURRENT_TIMESTAMP为默认值的问题
修复普通版本注册功能异常
修复无法快速提交的问题
修复rename to 语句的问题
修复after 语句虚拟时态不正确的问题
修复pt-osc 多条语句执行异常的问题
修复数据源删除时用户权限没有同步更新的问题
修复饼图数据错乱的问题
修复回滚可能会导致程序panic的问题
Feature
审核人与流程绑定,不在通过权限组。原权限组上级审核人改为查询审核人
工单详细信息页面重绘 执行信息及工单信息放在一个页面通过折叠面板来显示。
撤销审核人管理的权限 仅可审核工单以及提交工单
支持update join 回滚
新增过渡动画
自定义workflow 自行建立流程模块。 通过数据源赋予相关流程模板来实现不同数据源不同的审核流程
支持全文索引添加
回滚语句展示支持分页,解决大批量回滚语句展示导致浏览器崩溃的问题
Optimize
拆分ddl/dml组件 去冗余,优化代码
重新设计工单提交模式,变更为分步式提交
详情页面重构
优化mixins
优化审核逻辑删除时间默认值审核按钮。功能合并至是否设置默认值按钮
提高Update语句选择回滚模式的执行效率(实测约600%)
Juno
修复由于查询语句错误/空查询语句导致程序panic的问题。
修复执行成功没有消息推送的问题
修复grpc不回传默认值的问题
提高连接稳定性
版权声明:Yearning(SQL审核平台)所展示的资源内容均来自于第三方用户上传分享,您所下载的资源内容仅供个人学习交流使用,严禁用于商业用途,软件的著作权归原作者所有,如果有侵犯您的权利,请来信告知,我们将及时撤销。
软件下载信息清单:
驱动文件名称 | 发布日期 | 文件大小 | 下载文件名 |
---|---|---|---|
Yearning(SQL审核平台)安装包 | 2024年11月15日 | 10.2 MB | Yearning.zip |
软件评论