自动检测SQL语句的神器?再也不用担心SQL出错了!

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

开源地址

https://gitee.com/cookieYe/Yearning

功能介绍

1、SQL查询查询导出查询自动补全

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

3、历史审核记录

4、查询审计

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,当使用SQL语句中的BETWEEN运算符时,可以使用占位符(?)来代替具体的值。这样可以在执行SQL语句之前动态地将值传递给占位符。对于你提到的SQL语句 "BETWEEN ? and ?",你可以使用PreparedStatement对象来执行该语句,并使用set方法为占位符设置具体的值。例如,假设你有两个变量minValue和maxValue,你可以这样写代码: ```java String sql = "SELECT * FROM table_name WHERE column_name BETWEEN ? AND ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setInt(1, minValue); statement.setInt(2, maxValue); ResultSet resultSet = statement.executeQuery(); ``` 在上面的代码中,"?"代表占位符,通过调用setInt方法,将minValue和maxValue分别传递给第一个和第二个占位符。然后,通过调用executeQuery方法执行SQL语句,并将结果存储在resultSet对象中。 请注意,这只是一个示例,你需要根据你的具体情况来调整代码。同时,确保在使用占位符时,将正确的数据类型与set方法相匹配,以确保正确的查询结果。 #### 引用[.reference_title] - *1* *2* *3* [Sql语句中between与in的用法详解](https://blog.csdn.net/m0_70059366/article/details/127890123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值