SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证。为了规范操作,提高效率,我们决定引入目前市面上非常流行的SQL自动审核工具Inception。

花了一周看了inception官方文档并搭建了测试环境简单测试,又花了3天写了webui(内部起名叫overmind,以下也简称overmind),目前正在进行各种测试以及手册的编写,还未正式跟我们的流程结合起来投入使用,后续正式使用后再更新使用经验。

Inception

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搜索安装学习。

写在最后

  1. 先说感谢!感谢大神开发的Inception,绝对是DBA界的福音
  2. 之所以能就花了3天时间写了overmind,主要还是借助了之前已写好的其他项目框架,在此基础上做修改,还是很快的
  3. 工具部署与页面编写都是比较简单的,团队内部都可以搞定,要把工具推出去,融入到现在的流程中是一件比较困难的事情,给团队内定的规则就是a.完善的文档,用户在审核前就知晓哪些sql通不过,在审核失败时知晓如何修改能成功,b.对用户的感知应降到最低,不要因为用了overmind而造成额外的麻烦,要让用户用的爽
  4. 希望作者或其他大神能持续更新Inception,继续造福广大DBA

最新文章

  1. java多线程通信 例子
  2. mac gem install nokogiri error
  3. [canvas]利用canvas绘制自适应的折线图
  4. mysql 创建索引和删除索引
  5. Docker三剑客之Swarm介绍
  6. Profiling MySQL queries from Performance Schema
  7. 深入浅出Redis03 使用Redis数据库(hashes类型)
  8. CodeforcesGym101116 B Bulbs
  9. mac下的改装人生——制作mac os 启动盘
  10. 使用Nexus搭建企业maven仓库(二)
  11. codeforces #257 C称号Jzzhu and Chocolate
  12. 设置HTML表格细边框
  13. Redis进阶学习笔记
  14. 【译】Six Open Source Dashboards to Organize Your Data
  15. iOS之关于Architectures设置及Build Active Architecture Only编译设置
  16. linux 下ftp几种上传和下载方式
  17. ios中LeveyPopListView 弹出view的用法
  18. PHP错误 。Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT
  19. bzoj1819 电子词典
  20. storm的可靠性

热门文章

  1. codeforces 702C Cellular Network 2016-10-15 18:19 104人阅读 评论(0) 收藏
  2. HDU1254 推箱子(BFS) 2016-07-24 14:24 86人阅读 评论(0) 收藏
  3. 为Quartus工程生成rbf文件的方法
  4. D3_book 11.3 force
  5. Tmux入门教程
  6. ASP.NET关于Session_End触发与否的问题
  7. NLayerAppV3--基础结构层(Cross-Cutting部分)
  8. web中浏览PDF文件
  9. Godot开发环境与学习资源
  10. Day 35 验证客户端的合法性+socketserver