一款SQL全自动化检查神器!再也不用担心 SQL 出错了,还带自动补全、回滚等等【开源项目】

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!
  • 介绍
  • 功能介绍
  • 模块介绍
  • 审核流程
  • 安装(这部分可以直接接到码云或者官网查看)
  • 总结

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

1.jpg基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。

项目地址:https://github.com/YunaiV/ruoyi-vue-pro

功能介绍

  • SQL查询查询导出查询自动补全
  • SQL审核流程化工单SQL语句检测SQL语句执行SQL回滚
  • 历史审核记录
  • 查询审计
  • 推送E-mail工单推送钉钉webhook机器人工单推送
  • 其他LDAP登录用户权限及管理拼图式细粒度权限划分(共12项独立权限,可随意组合)

基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。

项目地址:https://github.com/YunaiV/onemall

模块介绍

  • Dashboard

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

2.jpg

  • 我的工单

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

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

3.jpg

  • 工单DLL

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

4.jpg

  • DML审核

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

5.jpg

  • 查询

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

6.jpg

  • 工单审核

DDL/DML管理员审核并执行

7.jpg

  • 查询审核

用户查询审核

8.jpg

  • 权限审核

用户权限审核

9.jpg

  • 用户管理

创建/修改/删除用户

10.jpg

  • 数据库管理

添加/编辑/删除 数据源

11.jpg

  • 用户权限

用户权限修改/清空

12.jpg

  • 基础设置和进阶设置

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

13.jpg

14.jpg

  • 审核规则

设置SQL检测规则

15.jpg

审核流程

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,感兴趣的可以尝试下!

相关文章
|
4月前
|
SQL 关系型数据库 MySQL
【MySQL】根据binlog日志获取回滚sql的一个开发思路
【MySQL】根据binlog日志获取回滚sql的一个开发思路
|
3月前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
103 2
|
2月前
|
SQL 安全 关系型数据库
SQL自动化注ru-SQLmap入门操作(一)
SQL自动化注ru-SQLmap入门操作(一)
|
2月前
|
SQL 安全 关系型数据库
SQL自动化注茹-SQLmap入门操作(二)
SQL自动化注茹-SQLmap入门操作(二)
|
4月前
|
SQL 存储 数据处理
"SQL触发器实战大揭秘:一键解锁数据自动化校验与更新魔法,让数据库管理从此告别繁琐,精准高效不再是梦!"
【8月更文挑战第31天】在数据库管理中,确保数据准确性和一致性至关重要。SQL触发器能自动执行数据校验与更新,显著提升工作效率。本文通过一个员工信息表的例子,详细介绍了如何利用触发器自动设定和校验薪资,确保其符合业务规则。提供的示例代码展示了在插入新记录时如何自动检查并调整薪资,以满足最低标准。这不仅减轻了数据库管理员的负担,还提高了数据处理的准确性和效率。触发器虽强大,但也需谨慎使用,以避免复杂性和性能问题。
72 1
|
4月前
|
测试技术 Java
全面保障Struts 2应用质量:掌握单元测试与集成测试的关键策略
【8月更文挑战第31天】Struts 2 的测试策略结合了单元测试与集成测试。单元测试聚焦于单个组件(如 Action 类)的功能验证,常用 Mockito 模拟依赖项;集成测试则关注组件间的交互,利用 Cactus 等框架确保框架拦截器和 Action 映射等按预期工作。通过确保高测试覆盖率并定期更新测试用例,可以提升应用的整体稳定性和质量。
86 0
|
4月前
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
55 0
|
4月前
|
SQL 存储 数据管理
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
348 0
|
4月前
|
SQL 关系型数据库 MySQL
SQL Server 事务执行、回滚
SQL Server 事务执行、回滚
54 0
|
4月前
|
SQL 缓存 关系型数据库
[mysql]状态检查常用SQL
[mysql]状态检查常用SQL
223 0