查看原文
其他

一款 SQL 自动检查神器!

最美分享Coder 杰哥的IT之旅 2022-06-07

作者:最美分享Coder

来源:http://suo.im/694haV

介绍

Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!

开源地址

https://gitee.com/cookieYe/Yearning

功能介绍

  • SQL查询查询导出查询自动补全

  • SQL审核流程化工单SQL语句检测SQL语句执行SQL回滚

  • 历史审核记录

  • 查询审计

  • 推送E-mail工单推送钉钉webhook机器人工单推送

  • 其他LDAP登陆用户权限及管理拼图式细粒度权限划分(共12项独立权限,可随意组合)

模块介绍

  • Dashboard

    dashboard主要展示Yearning各项数据包括用户数/数据源数/工单数/查询数以及其他图表,个人信息栏内用户可以修改密码/邮箱/真实姓名,同时可以查看该用户权限以及申请权限


  • 我的工单

    展示用户提交的工单信息.,对于执行失败/驳回的工单点击详细信息后可以重新修改sql并提交

    对于执行成功的工单可以查看回滚语句并且快速提交SQL

  • 工单DLL

    DDL相关SQL提交审核,查看表结构/索引,SQL语法高亮/自动补全

  • DML审核

    DML相关SQL提交审核,SQL语法高亮/自动补全

  • 查询

    查询/导出数据 SQL语法高亮/自动补全 快速DML语句提交

  • 工单审核

    DDL/DML管理员审核并执行

  • 查询审核

    用户查询审核

  • 权限审核

    用户权限审核

  • 用户管理

    创建/修改/删除用户

  • 数据库管理

    添加/编辑/删除 数据源

  • 用户权限

    用户权限修改/清空

  • 基础设置和进阶设置

    设置消息推送相关信息 包括钉钉机器人/email,设置LDAP相关信息,全局配置信息,全局配置开关

  • 审核规则

    设置SQL检测规则

审核流程

Yearning采用二级/多级的审核模式,可根据实际需求变更相关使用流程,执行人角色必须在开启多级审核之后才可指定(开启请前往设置页面),如果需要将多级审核改为二级审核,请先确保所有多级审核的工单都已确认执行。否则未执行工单将无法找回。当多级审核关闭后系统并不会自动将角色为执行人的用户重置角色,请自行重置相应用户角色

二级审核流程:

  • 1.使用人根据自己拥有的权限向对应的工单提交单元(DDL,DML)提交工单

  • 2.管理员收到消息后在审核工单页面审核该工单请求并执行/驳回 对应工单

  • 3.执行记录将会记录在该管理员用户下

多级审核流程:

  • 1.使用人根据自己拥有的权限向对应的工单提交单元(DDL,DML)提交工单,

  • 2.管理员收到消息后在审核工单页面审核该工单请求并同意/驳回 对应工单并选择对应执行人(执行人必须是角色为执行人的用户)

  • 3.执行人收到工单后 执行/驳回该工单

  • 4.执行记录将会记录在该执行人用户下

安装(这部分可以直接接到码云或者官网查看)

Yearning 不依赖于任何第三方SQL审核工具作为审核引擎,内部已自己实现审核/回滚相关逻辑。仅依赖Mysql数据库。mysql版本必须5.7及以上版本,请事先自行安装完毕且创建Yearning库,字符集应为UTF-8/UTF8mb4 (仅Yearning所需mysql版本)Yearning日志仅输出error级别,没有日志即可认为无运行错误!Yearning 基于1080p分辨率开发仅支持1080p及以上显示器访问(可到官网下载二进制文件)

  • 填写配置文件

cat conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "xxxx"
User = "root"

[General] #数据库加解密key,只可更改一次。
SecretKey = "dbcjqheupqjsuwsm"
  • 初始化数据库

./Yearning -m
  • 启动服务

    默认启动

    参数启动

    打开浏览器对应端口 ,默认密码:admin/Yearning_admin

总结

Yearning是一个SQL审核平台,在一定程度上可以解决运维与开发中间的问题,遗憾的是只支持Mysql,感兴趣的可以尝试下!

来和上万名读者一起见证彼此成长!

扫描下方二维码,添加杰哥微信,备注:地区/城市-职业方向/学校-昵称,即可加入杰哥的IT之旅读者群,群内仅供学习交流、日常互动、资源分享、经验分享等,一定要记得备注,我会尽快通过好友验证的。
👆长按识别,添加微信

本公众号全部博文已整理成一个目录,请在公众号后台回复「m」获取!

推荐阅读(点击如下标题即可跳转)

1、Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
2、31个惊艳的数据可视化作品,让你感受“数据之美”!
3、GitHub 热榜:歪果小姐姐教你用纯代码画画,真细腻!
4、漫画:写 Python 到底用什么编辑器好?大厂程序猿都吵翻了!
5、Python 从入门到精通:一个月就够了!
6、【建议收藏】91 道 MySQL 面试题

好文和朋友一起看~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存