【原创】SQL审核系统
前言
应公司dba的需求,做了一个sql审核并可以执行、记录的系统,整个系统有三种角色:
DBA(需要管理员手动登记)
运维人员(需要管理员手动登记)
开发人员(默认注册后用户)
权限分配如下:

一些功能展示
先要感谢前任武大神留下的前端模板,在后续的开发节省了大量的时间,我也就拿过来直接用了。
由于是在公司使用的代码,源码不能开源,下边是一些展示截图,后续会把这个系统涉及到的一些自认为关键的知识点整理出来,分享一部分代码。
- 登录界面

- 注册界面

- 忘记密码

注册、忘记密码这块可以通过邮箱拿到一个验证码,然后通过验证码来进行验证,后边博客会详细介绍这块代码的实现。
生成随机验证码的部分参考我之前的博客http://www.cnblogs.com/caseast/p/4797930.html ,验证码插件部分 - 登录后的首页展示

这个是权限最大的DBA用户的页面,开发、运维会略有不同,功能要少一些 都是傻瓜式的操作,确认sql即为dba审核,审核后运维才可以在生产上执行。另外还专门为dba提供了一个预发布环境,用于上线前,DBA可以现在预发布环境跑一遍sql,之后再通过审核。逻辑图如下:

- 提交新增sql


会对开发提交的sql做一个正则匹配,不同的方向包含的库不同,如果提交的语句使用的库名不在方向列表中,会进行提示,另外如果sql中有一些危险语法,也会做初级的判断,不允许提交。 - sql高亮提示

- 变更流程展示

- 执行过程展示

执行完毕后会在已上线SQL日志中进行展示,启动的任务由celery+redis异步进行分发处理 - 执行结果展示

支持多条件联合搜索

总结
目前这套系统已经部署上线,投入使用了,比起之前的审核系统,主要加入了较全面的日志记录和预发布功能。部分代码分析还请等待后边的博客。
【原创】SQL审核系统的更多相关文章
- 中小团队快速构建SQL自动审核系统
SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证.为了规范操作,提高效率,我们决定引入目前市面上非常流行的SQL自动审核工具Incep ...
- SQL审核 Inception 中小团队快速构建SQL自动审核系统
SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证.为了规范操作,提高效率,我们决定引入目前市面上非常流行的SQL自动审核工具Incep ...
- SQL Server 系统数据库恢复
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/故障恢复/master 概述 SQL Server 维护一组系统级数据库(称为“系统数据库”),这些数据库对于服务器实例的运行至关 ...
- inception 自动化sql审核
##概念: Inception是一款自动化运维的利器,有别与现在各个公司使用的方式,使用Inception,将会给DBA带来最大的便利性,将DBA从繁冗的工作中解放出来,做一些更多的自动化工作,或者从 ...
- SQL Server系统函数:系统信息函数
原文:SQL Server系统函数:系统信息函数 1.会话id,服务器信息.用户信息 select @@SPID, --返回当前连接的会话ID:SPID @@servername, --SQL Ser ...
- SQL Server系统函数:字符串函数
原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a') ...
- SQL Server系统函数:日期函数
原文:SQL Server系统函数:日期函数 1.返回当前日期和时间 select GETDATE() '当前日期-精确到33毫秒' select GETUTCDATE() 'UTC日期和时间-精确到 ...
- SQL Server系统函数:元数据函数
原文:SQL Server系统函数:元数据函数 1.列的长度.列名 --列的长度 select COL_LENGTH('dbo.wct', --表名 'wcid') --列名 --列名 select ...
- SQL Server系统函数:类型转换函数
原文:SQL Server系统函数:类型转换函数 1.基本的转化 SELECT CAST(2008 as varchar(4)) + ' year!' SELECT CONVERT(varchar(4 ...
随机推荐
- 谷歌发布的首款基于HTTP/2和protobuf的RPC框架:GRPC
Google 刚刚开源了grpc, 一个基于HTTP2 和 Protobuf 的高性能.开源.通用的RPC框架.Protobuf 本身虽然提供了RPC 的定义语法,但是一直以来,Google 只开 ...
- HTML5- Canvas入门(一)
周老虎落网的时候,网易跟腾讯都推出了牛逼轰轰的HTML5页面来展示其关系网(网易http://news.163.com/special/data_zyk/ ,腾讯http://news.qq.com ...
- Java NIO3:通道和文件通道
通道是什么 通道式(Channel)是java.nio的第二个主要创新.通道既不是一个扩展也不是一项增强,而是全新的.极好的Java I/O示例,提供与I/O服务的直接连接.Channel用于在字节缓 ...
- 如何在Visual Studio 工程之间共享静态内容 (js, css, img, etc.)
第一步: 文件夹上点击右键 -> Add -> Existing Item,单击选中文件,不要点击“Add”按钮,而是在“Add”按钮右边有个向下的小箭头,点击这个箭头,再点击“Add ...
- Hadoop学习笔记—3.Hadoop RPC机制的使用
一.RPC基础概念 1.1 RPC的基础概念 RPC,即Remote Procdure Call,中文名:远程过程调用: (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网 ...
- ASP.NET Web API路由系统:Web Host下的URL路由
ASP.NET Web API提供了一个独立于执行环境的抽象化的HTTP请求处理管道,而ASP.NET Web API自身的路由系统也不依赖于ASP.NET路由系统,所以它可以采用不同的寄宿方式运行于 ...
- FASTJSON
package com.hanqi.test; import java.util.ArrayList;import java.util.Date;import java.util.List; impo ...
- 初学者--bootstrap(三)下载与安装----在路上(7)
----------------------------------------对于学习与工作者来说用压缩版,若是研究框架则用源代码---------------------------------- ...
- 希尔排序及希尔排序java代码
原文链接:http://www.orlion.ga/193/ 由上图可看到希尔排序先约定一个间隔(图中是4),然后对0.4.8这个三个位置的数据进行插入排序,然后向右移一位对位置1.5.9进行插入排序 ...
- Caffe学习笔记1--Ubuntu 14.04 64bit caffe安装
本篇博客主要用于记录Ubuntu 14.04 64bit操作系统搭建caffe环境,目前针对的的是CPU版本: 1.安装依赖库 sudo apt-get install libprotobuf-dev ...