SQL审核工具goInception示例讲解

栏目: 数据库 · 发布时间: 5年前

内容简介:本文主要对goInception工具做一些简单介绍,并举例说明其主要做什么。goInception是一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具, 通过对执行SQL的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能。goInception基于TiDB的语法解析器,和业内有名的inpcetion审核工具重构。

本文主要对goInception工具做一些简单介绍,并举例说明其主要做什么。

介绍

goInception是一个集审核、执行、备份及生成回滚语句于一身的 MySQL 运维工具, 通过对执行 SQL 的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能。

goInception基于TiDB的语法解析器,和业内有名的inpcetion审核 工具 重构。

面向读者:该文主要面向于后端开发、DBA或运维小伙伴,通过举例说明goInception大概做了哪些事,关于安装和使用等均可以查看 使用文档 github项目首页 。另外, 除安装以外 ,现在很多inception相关的资料和文章等,均可查阅,很多都是通用的。

架构图:(摘自inception)

SQL审核工具goInception示例讲解

goInception类似于mysql服务,可以连接到服务端口,执行SQL语句。 接下来通过一个示例来说明goInception具体做了哪些操作。

审核示例

在调用goInception时,需要指定要访问的生产库地址,所以需要一种特殊语法形式, goInception延用inception的使用方式,在审核的sql开始前添加注释来指定远端服务器,并在sql的前后添加特殊标识以区分待审核语句,示例如下:

/*--host=127.0.0.1;--port=3306;--user=xxx;--password=xxx;--check=0;*/
inception_magic_start;
use db;
一个或多个sql,支持大多数DDL和DML语法;
inception_magic_commit;
复制代码

各选项说明

参数 默认值 数据类型 说明
host '' string 线上数据库IP地址
port 0 int 线上数据库端口
user '' string 线上数据库用户名
password '' string 线上数据库密码
check false bool 开启审核功能
execute false bool 开启执行功能
backup false bool 开启备份功能,仅在执行时生效
ignore_warnings false bool 是否忽略警告,仅在执行时生效。该参数控制有警告时是继续执行还是中止

要审核的语句:

create table dbtest.table1(
    id int unsigned auto_increment primary key,
    name varchar(20)
    ) engine = innodb default character set utf8;
insert into dbtest.table1 values(1,'aaa'),(2,'bbb');
复制代码

那调用时可以变为如下形式:

/*--host=127.0.0.1;--port=3306;--user=xxx;--password=xxx;--execute=1;--backup=1;--ignore_warnings=1;*/
inception_magic_start;
use dbtest;
create table table1(
    id int unsigned auto_increment primary key,
    name varchar(20)
    ) engine = innodb default character set utf8;
insert into table1 values(1,'aaa'),(2,'bbb');
inception_magic_commit;
复制代码

其中,

  • 为了方便,可以通过use切换数据库,上下文自动保持该数据库
  • 为讲述更多涉及的功能,我们开启了执行和备份参数,此时仍会先进行审核,只有在审核通过之后才会真正执行

goInception内部会进行三个阶段的操作,分别是审核阶段,执行阶段和备份阶段,接下来逐一讲解。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Google御用網頁語言Node.js

Google御用網頁語言Node.js

郭家寶 / 佳魁資訊 / 2013-4-26 / NT 490

這是一本 Node.js 的入門教學,寫給想要學習 Node.js,但沒有任何系統的經驗的開發者。如果你聽說過 Node.js,並被它許多神奇的特性吸引,本書就是為你準備的。 透過閱讀本書,你可以對 Node.js 有全面的認識,學會如何用 Node.js 程式設計,了解事件驅動、非同步式 I/O 的程式設計模式,同時還可以了解一些使用JavaScript 進行函數式程式設計的方法。 ......一起来看看 《Google御用網頁語言Node.js》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具