首页 技术 正文
技术 2022年11月19日
0 收藏 816 点赞 2,432 浏览 1379 个字

SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证。为了规范操作,提高效率,我们决定引入目前市面上非常流行的SQL自动审核工具Inception。
花了一周看了inception官方文档并搭建了测试环境简单测试,又花了3天写了webui(内部起名叫overmind,以下也简称overmind),目前正在进行各种测试以及手册的编写,还未正式跟我们的流程结合起来投入使用,后续正式使用后再更新使用经验。

Inception

  • github:https://github.com/mysql-inception/inception
  • 官方文档:http://mysql-inception.github.io/inception-document

Inception是一个开源的Mysql自动化工具,具有SQL审核、执行、回滚等实用的功能,由国内大神基于mysql源码开发,可以很明确的,详细的,准确的审核Mysql的SQL语句,工作模式与Mysql完全相同,可以直接使用mysql客户端来连接。但遗憾的是2年前已停止更新,不过兼容大部分的mysql版本,仍然是开源SQL审核工具的翘楚。

Inception的架构如下:

SQL审核 Inception 中小团队快速构建SQL自动审核系统

inception架构图

Overmind

审核流程

我们的审核流程现在主要分两部分:

1.Dev和Qa等线下测试环境:为了简化流程,开发测试环境,可以由开发直接通过overmind系统进行审核或执行

2.Prod生产环境:生产环境以安全为主,在Dev和Qa环境执行成功后详情页面会有个“申请上线”按钮,点击申请上线自动发送邮件给DBA,待DBA审核通过后方可上线

系统介绍

  • 基本配置页面:可以直接在页面上配置inception的信息,方便迁移

SQL审核 Inception 中小团队快速构建SQL自动审核系统

基本配置页

  • 数据库信息录入:相当于一个简单数据库的cmdb系统,可以管理数据库信息

SQL审核 Inception 中小团队快速构建SQL自动审核系统

数据库信息录入

  • 审核任务提交:支持审核和执行两种模式,审核模式只给审核结果,执行模式在执行之前会先审核

SQL审核 Inception 中小团队快速构建SQL自动审核系统

审核任务提交

  • 审核结果展示:详细展示SQL审核的所有信息,包括提交用户、执行操作、审核结果等等

SQL审核 Inception 中小团队快速构建SQL自动审核系统

审核结果展示

  • 任务列表页面:可以很方便只查看自己提交的任务,或者查看固定项目的,固定环境的任务

SQL审核 Inception 中小团队快速构建SQL自动审核系统

任务列表页

关于开源

开源在我看来是一件很隆重的事情,之前刚学python的时候开源了自己写的一个简单后台sadmin(github或gitee可以搜索到),因为一些原因停止更新了。目前没有时间和精力来做长久的支持和维护,所以暂时不打算把源代码放到github上。另外同类型的已经有一个非常棒的开源产品Yearning了,可以github搜索安装学习。

写在最后

    1. 先说感谢!感谢大神开发的Inception,绝对是DBA界的福音
    2. 之所以能就花了3天时间写了overmind,主要还是借助了之前已写好的其他项目框架,在此基础上做修改,还是很快的
    3. 工具部署与页面编写都是比较简单的,团队内部都可以搞定,要把工具推出去,融入到现在的流程中是一件比较困难的事情,给团队内定的规则就是a.完善的文档,用户在审核前就知晓哪些sql通不过,在审核失败时知晓如何修改能成功,b.对用户的感知应降到最低,不要因为用了overmind而造成额外的麻烦,要让用户用的爽
    4. 希望作者或其他大神能持续更新Inception,继续造福广大DBA
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,412
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,185
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905