1. 程式人生 > >Inception文件筆記,安裝,啟動,引數說明

Inception文件筆記,安裝,啟動,引數說明

中文說明文件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 | 

10. Inception命令集

11. Inception 對線上配置需求
1、開啟binlog,row或者mixed扶著格式,否則不備份。
2、server_id必須非0或非1,走著備份報錯。
3、dml和ddl不能一起執行,需要分開。

12. Inception 額外功能說明
13. Inception 對OSC的支援