SQL审核
Archey更全面,支持多种类数据库,但是使用过程中建表语句未能通过提交SQL审核,略有不足
Yearning只支持mysql数据库 功能相对比较全面,但不支持其它数据库.
Archery
Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作
相关文档可查看https://archerydms.com/
功能清单
查询 | 审核 | 执行 | 备份 | 数据字典 | 慢日志 | 会话管理 | 账号管理 | 参数管理 | 数据归档 | |
---|---|---|---|---|---|---|---|---|---|---|
MySQL | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
MsSQL | √ | × | √ | × | × | × | × | × | × | × |
Redis | √ | × | √ | × | × | × | × | × | × | × |
PgSQL | √ | × | √ | × | × | × | × | × | × | × |
Oracle | √ | × | √ | ✔️ | × | × | × | × | × | × |
MongoDB | √ | √ | √ | × | × | × | × | × | × | × |
下载文件
https://github.com/hhyo/archery/releases/ |
解压Archery-1.8.1.zip,进入src/docker-compose
#启动 |
访问
http://127.0.0.1:9123/ |
管理后台
SQL工单
实例标签
资源组
配置钉钉webhook地址
组
DBA持有所有权限,研发持有各菜单权限+提交查看工单等权限,不给予删除等权限
添加实例数据库
配置用对应数据库类型和账号密码
绑定对应的资源组和实例标签
工作流审批列表
工作流日志
SQL查询日志
用户管理
配置用户权限
SQL上线
提交要上线的脚本
支持10M内SQL文件导入,上线单名称(必填),选择对应的资源组,对应的数据库,对应的表,sql提交前需要进行一次SQL检测,检测通过后才能进行SQL提交
SQL检测不通过的情况,数据库中没有id为3的数据,直接进行更新name会进行报错,并提示
审核状态:error,warning,pass,当审核状态处于error时执行会有错误,当审核状态为warning时,适当时情况而定是否继续提交,审核状态为pass时,通过sql检测
提交后可看到工单状态,审核流程有谁审批,工单的审批日志和提交的完整SQL内容,也可改为定时执行和终止流程
工单执行完成后可看到工单状态是否执行完毕,影响行数,执行耗时,自动生成的回滚SQL
查看回滚SQL,也可直接提交回滚请求
提交人可直接在SQL上线中查看操作日志
可根据工单状态,数据库实例,资源组进行过滤提交的工单,也可进行导出当前页面中的表格数据
SQL查询
在线查询
查询历史,表结构,执行结果,返回行数,导出数据
数据字典
可查看导出数据库实例对应的数据字典(该功能仅支持mysql)
权限管理
开发可申请该账号看不到的表或库权限
SQL优化
SQL优化建议
可通过三种工具进行SQL语句分析进行提供优化建议(该功能仅支持mysql)
慢日志查询
实例管理
实例列表
测试:可进行对数据库进行测试连接
Binlog清理:可以对Mysql进行binlog清理
点击蓝色实例名称,可进行编辑
回话管理
可查看和终止连接的进程状态,TOP表空间和事务信息,锁信息
账号管理
创建,编辑,授权,改密,删除账号(该功能仅支持mysql)
系统管理
配置项管理
配置SQLAdvisor和钉钉机器人通知
配置工单审批流配置
资源组管理
配置对应环境的资源组,关联用户和实例数据库与资源组绑定
Yearning
官方文档:https://guide.yearning.io/install.html
首先安装myql5.7,可参考mysql文档进行安装
安装
创建Yearning数据库并指定字符集
create database Yearning default character set utf8mb4; |
下载地址:https://github.com/cookieY/Yearning/releases/
下载
wget https://github.com/cookieY/Yearning/releases/download/v2.2.0/Yearning-2.2.0.linux-amd64.zip |
解压
tar zxvf Yearning-2.2.0.linux-amd64.zip |
修改配置文件
vi conf.toml |
初始化数据结构
./Yearning -m |
默认启动
./Yearning -s |
参数启动
./Yearning -s -b "172.27.80.35" -p "8000" |
打开浏览器 http://127.0.0.1:8000
默认密码:admin/Yearning_admin
Yearning 执行成功后显示回滚语句 需要mysql开启binlog,请查看mysql文档开启binlog
Yearning管理
用户有三个权限:guest,admin,perform. |