中小团队快速构建SQL自动审核系统
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的架构如下:

Overmind
审核流程
我们的审核流程现在主要分两部分:
1.Dev和Qa等线下测试环境:为了简化流程,开发测试环境,可以由开发直接通过overmind系统进行审核或执行
2.Prod生产环境:生产环境以安全为主,在Dev和Qa环境执行成功后详情页面会有个“申请上线”按钮,点击申请上线自动发送邮件给DBA,待DBA审核通过后方可上线
系统介绍
基本配置页面:可以直接在页面上配置inception的信息,方便迁移

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

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

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

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

关于开源
开源在我看来是一件很隆重的事情,之前刚学python的时候开源了自己写的一个简单后台sadmin(github或gitee可以搜索到),因为一些原因停止更新了。目前没有时间和精力来做长久的支持和维护,所以暂时不打算把源代码放到github上。另外同类型的已经有一个非常棒的开源产品Yearning了,可以github搜索安装学习。
写在最后
- 先说感谢!感谢大神开发的Inception,绝对是DBA界的福音
- 之所以能就花了3天时间写了overmind,主要还是借助了之前已写好的其他项目框架,在此基础上做修改,还是很快的
- 工具部署与页面编写都是比较简单的,团队内部都可以搞定,要把工具推出去,融入到现在的流程中是一件比较困难的事情,给团队内定的规则就是a.完善的文档,用户在审核前就知晓哪些sql通不过,在审核失败时知晓如何修改能成功,b.对用户的感知应降到最低,不要因为用了overmind而造成额外的麻烦,要让用户用的爽
- 希望作者或其他大神能持续更新Inception,继续造福广大DBA

中小团队快速构建SQL自动审核系统的更多相关文章
- SQL审核 Inception 中小团队快速构建SQL自动审核系统
SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证.为了规范操作,提高效率,我们决定引入目前市面上非常流行的SQL自动审核工具Incep ...
- sql自动审核工具-inception
[inception使用规范及说明文档](http://mysql-inception.github.io/inception-document/usage/)[代码仓库](https://githu ...
- 快速构建ceph可视化监控系统-转载
前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_exp ...
- 快速构建ceph可视化监控系统
https://my.oschina.net/colben/blog/1844602 https://my.oschina.net/u/3626804/blog/1859613
- 163k地方门户网站系统自动审核信息脚本
本代码实现对163k地方门户网站系统发布信息的自动审核,以及对内容中链接全过滤 软件安装 Python 安装 http://www.python.org/download/ pymssql安装 htt ...
- 【Fungus入门】10分钟快速构建Unity中的万能对话系统 / 叙事系统 / 剧情系统
我真的很久没有写过一个完整的攻略了(笑),咸鱼了很久之后还是想来写一个好玩的.这次主要是梳理一下Unity的小众插件Fungus的核心功能,并且快速掌握其使用方法. 官方文档:http://fungu ...
- 用前端姿势玩docker【五】快速构建中类Unix系统与Windows系统的差异化处理
目录 用前端姿势玩docker[一]Docker通俗理解常用功能汇总与操作埋坑 用前端姿势玩docker[二]dockerfile定制镜像初体验 用前端姿势玩docker[三]基于nvm的前端环境构建 ...
- 【原创】SQL审核系统
前言 应公司dba的需求,做了一个sql审核并可以执行.记录的系统,整个系统有三种角色: DBA(需要管理员手动登记) 运维人员(需要管理员手动登记) 开发人员(默认注册后用户) 权限分配如下: 一些 ...
- Hexo快速构建个人小站-Fulid主题下添加Valine评论系统(三)
Hexo目录: Hexo快速构建个人小站-Hexo初始化和将项目托管在Github(一) Hexo快速构建个人小站-自定义域名和自定义主题(二) 背景交代: 前面两章完成了Hexo的初始化和部分自定义 ...
随机推荐
- 20155202 2016-2017-2 《Java程序设计》第6周学习总结
20155202 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 输入输出 数据从来源取出:输入串流 java.io.InputStream 写入目的的:输出 ...
- android java层实现hook替换method
Android上的热修复框架 AndFix 大家都很熟悉了,它的原理实际上很简单: 方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替 ...
- Win7_Ultimate + VS2010 + openGL 配置
Win7_Ultimate + VS2010 + openGL 配置 0. 前言 OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性. (1)与C语言紧密结合. O ...
- linux 通过md5查找重复文件
代码如下: md5sum *|sort |uniq -w32 -D|awk -F ' ' '{print $2}' uniq 部分参数 -c #在每行前显示该行重复次数. -d #只输出重复的行. - ...
- hdu 5011 Nim+拿完分堆
http://acm.hdu.edu.cn/showproblem.php?pid=5011 有N堆珠子,两个人轮流拿,最少拿一个,可以全拿,每次只能从一个堆里拿,不能从多堆同时拿:拿完之后该人还有一 ...
- 【算法30】从数组中选择k组长度为m的子数组,要求其和最小
原题链接:codeforce 267 Div2 C 问题描述: 给定长度为n的数组a[],从中选择k个长度为m的子数组,要求和最大. 形式描述为:选择$k$个子数组[$l_1$, $r_1$], [$ ...
- Git Commit 标准化
1 前言Git Commit Message 应该清晰明了,要用精简的语言说明本次提交的目的,其主要作用是为了后续的搜索.版本的回滚.合并冲突的追溯等操作. 我们在开发时一直以来对 Git Commi ...
- 【转】Swig使用指南
如何使用 API swig.init({ allowErrors: false, autoescape: true, cache: true, encoding: 'utf8', filters: { ...
- 初识构建工具-gradle
构建工具的作用 依赖管理 测试,打包,发布 主流的构建工具 Ant:提供编译,测试,打包 Maven:在Ant的基础上提供了依赖管理和发布的功能 Gradle:在Maven的基础上使用Groovy管理 ...
- ABP框架中微服务跨域调用其它服务接口
AjaxResponse为ABP自动包装的JSON格式 /// <summary> /// 通过地址和参数取得返回OutPut数据 /// </summary> /// < ...