Inception文档笔记,安装,启动,参数说明

版权声明:学习是一种信仰。喜欢就拿去,送人玫瑰手有余香。 https://blog.csdn.net/huoyuanshen/article/details/84023545

中文说明文档URL:https://github.com/cookieY/inception-document
Inception安装:
需要先安装如下依赖:
yum install MySQL-python
具体包可以通过Yearning的install中tar解压直接获得。

只针对DML提供回滚,DDL不支持。

1,启动
Inception/bin/ #> ./Inception --defaults-file=inc.cnf    &
2,python基本调试:
https://github.com/cookieY/inception-document/blob/master/docs/usage.md #注意示例端口应该改为默认6669.


5. Inception 支持选项及意义
sql='/*--user=root;--password=Zhht2018!;--host=10.1.147.114;--execute=1;--port=3306;*/\
inception_magic_start;\
use test;\    
CREATE TABLE adaptive_office(id int primary key) engine=innodb  charset=utf8;\
inception_magic_commit;'

--sleep                #用来指定在执行完每一条语句之后,暂停多少毫秒,减少对数据库冲击。--enable-execute为1的情况下,才起作用。
--enable-check            #告诉Inception当前要做什么操作,是审核还是执行。与下面的--enable-execute只能指定一个。
--enable-execute        #告诉Inception当前要做什么操作,是审核还是执行,这个参数与上面的--enable-check只能指定一个.执行前还会做一次check,效果同上。
--enable-force            #|否|是|告诉Inception,当在执行过程中碰到一个错误时,是中止执行还是保存错误信息继续执行下一个语句,这个参数要谨慎使用。
--enable-ignore-warnings    #|否|是|Inception采取严格的分阶段处理,如果审核有问题则不能执行,那么针对一些特殊问题并且审核有警告不通过,但人工审核没问题确定可以执行时,可以选择这个参数,告诉Inception跳过这个警告的检查,继续执行。
|--enable-remote-backup        #|是|否|指定在执行时是不是要备份,这个参数默认是打开的,如果不想备份,则指定参数--disable-remote-backup,这个选项所支持的备份,实际上是对当前所执行的操作的备份及被修改数据的回滚语句的存储
--enable-query-print|否|是|执行树结构,以Json的形式提供,比如使用到哪些列、语句类型等信息,目前支持的语句类型有:插入、删除、更新及查询。

--enable-check === --check=1
--disable-check === --check=0

use test;\ #不可少,或者schema_name.table_name方式。

6. Inception 备份功能说明
无主键的表,Inception不会备份。
备份的库名:
192_168_1_1_3310_inceptiondb
DDL语句回滚,只处理定义,不处理数据。

7. Inception 审核规范及原则
可以定制不同的规则。
如果语法不通过,则整个语句块中,语法出问题的位置前面的语句审核完成,后面则不能将各个语句分开,报错时后面就被认为是一个语句。
具体包括什么规则,还需要在使用过程中总结,发现,同时可以结合配置参数来详细了解这些规则。

8. Inception所支持的参数变量
全部是全局参数。不是会话级别的,所以它是设置之后马上生效的,而有些OSC的参数是会话的,则只影响当前执行的连接。
用户名密码可以不指定,因为Inception没有权限验证的过程。
只能精确匹配变量:
mysql>inception get variables ‘variable_name’;        通过variable_name指定变量名称,只显示指定的变量名的值
mysql>inception get variables;                显示Inception所有变量的值
mysql>inception set variable_name=value;        设置变量名为variable_name的变量的值

9. Inception结果集
返回的结果集中,每一个行数据,就是一条提交的SQL语句,Inception内部将所有提交的语句块一条条的拆开,以结果集的方式返回,针对每一条语句,有什么问题或者状态,在结果集中是一目了然。
['ID', 'stage', 'errlevel', 'stagestatus', 'errormessage', 'SQL', 'Affected_rows', 'sequence', 'backup_dbname', 'execute_time', 'sqlsha1']
1 | CHECKED | 0 | Audit completed | None | use test | 0 | '0_0_0' | None | 0 | 
2 | CHECKED | 2 | Audit completed | Table 'adaptive_office3' already exists. | CREATE TABLE adaptive_office3(id int primary key) engine=innodb  charset=utf8 | 0 | '0_0_1' | 10_1_147_114_3306_test | 0 | 
2 | EXECUTED | 0 | Execute Successfully
Backup successfully | None | CREATE TABLE adaptive_office4(id int primary key) engine=innodb  charset=utf8 | 0 | '1542004582_44_1' | 10_1_147_114_3306_test | 0.040 | 

扫描二维码关注公众号,回复: 4448567 查看本文章

10. Inception命令集

11. Inception 对线上配置需求
1、开启binlog,row或者mixed扶着格式,否则不备份。
2、server_id必须非0或非1,走着备份报错。
3、dml和ddl不能一起执行,需要分开。

12. Inception 额外功能说明
13. Inception 对OSC的支持

猜你喜欢

转载自blog.csdn.net/huoyuanshen/article/details/84023545