亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > 文庫 > 正文

Inception相關功能學習

2024-09-07 22:12:39
字體:
來源:轉載
供稿:網友
       Inception安裝
      下載解壓
 
       ]$pwd
 
       /inception
 
       ]$unzip inception-master.zip
 
      安裝Inception
      ]$ cd /inception/inception-master/
 
#執行如下命令,可以看到安裝幫助
 
]$ sh inception_build.sh
 
Usage: inception_build.sh builddir [platform(linux:Xcode)]
 
EXAPMLE: inception_build.sh debug [Xcode]
 
#安裝到./yk目錄
 
]$ sh inception_build.sh yk
 
#說明:
 
1.inception_build.sh實際上封裝了cmake && make && make install編譯安裝的步驟
 
2.buliddir是安裝目錄,platform是所在平臺(默認linux)
 
3.每次如果出錯之后,需要把編譯目錄刪除掉,重新執行,不然會執行出錯。
 
4.編譯過程沒有err那說明安裝成功了
 
配置Inception
#與MySQL類型,可以指定一個cnf配置文件
 
]$ vim /etc/inc.cnf
 
[inception]
 
general_log=1
 
general_log_file=inception.log
 
port=6669
 
socket=/tmp/inc.socket
 
character-set-client-handshake=0
 
character-set-server=utf8
 
。。。。。。。
 
#此處只是簡單的配置為了啟動Inception服務,更多的配置選項請參考文檔
 
啟動Inception
]$ cd /inception/inception-master/yk/mysql/bin
 
]$ nohup /Inception --defaults-file=/etc/inc.cnf &
 
]$ netstat -antpl|grep 6669
 
tcp        0      0 0.0.0.0:6669       0.0.0.0:*          LISTEN      4598/Inception   
 
至此,可以看到inception的6669端口已經運行
 
連接Inception
]$ mysql -h227.0.0.1 -P6669
 
Welcome to the MySQL monitor.  Commands end with ; or /g.
 
Your MySQL connection id is 2
 
Server version: Inception2.1.23 1
 
……………………..
 
mysql>  inception get variables; #獲取inception所有的變量和值
 
+------------------------------------------+----------------------------------------------------------+
 
| Variable_name             | Value                               |
 
+------------------------------------------+----------------------------------------------------------+
 
| autocommit               | OFF                                 |
 
| bind_address              | *                                   |
 
| character_set_system       | utf8                                 |
 
………………..
 
Inception簡單使用
1、  Inception規定,在語句的最開始位置,要加上inception_magic_start;語句,在執行語句塊的最后加上inception_magic_commit;語句,這2個語句在 Inception 中都是合法的、具有標記性質的可被正確解析的 SQL 語句。被包圍起來的所有需要審核或者執行的語句都必須要在每條之后加上分號,其實就是批量執行SQL語句。(包括use database語句之后也要加分號,這點與 MySQL 客戶端不同),不然存在語法錯誤
 
2、  目前執行只支持通過C/C++接口、Python接口來對Inception訪問,這一段必須是一次性的通過執行接口提交給Inception,那么在處理完成之后,Inception會返回一個結果集,來告訴我們這些語句中存在什么錯誤,或者是完全正常等等
 
 
 
/*--user=yujx;--password=xxxxxxxxxxx;--host=127.0.0.1;--enable-check;--port=3306;*/
 
inception_magic_start;
 
use test;
 
CREATE TABLE yujx(id int);
 
inception_magic_commit;
 
下面是一段執行上面語句的Python程序的例子:
]$ cat inc-mysql.py
 
#!/usr/bin/env python
 
#coding=utf8
 
import MySQLdb
 
sql='''/*--user=yujx;--password=yujx;--host=127.0.0.1;--execute=1;--port=3306;*//
 
    inception_magic_start;/
 
    use test;/
 
    CREATE TABLE yujx(id int comment 'test' primary key) engine=innodb DEFAULT CHARSET=utf8mb4 comment '測試';/
 
    inception_magic_commit;'''
 
#print sql
 
try:
 
        conn=MySQLdb.connect(host='127.0.0.1',user='',passwd='',db='',port=6669)
 
        cur=conn.cursor()
 
        ret=cur.execute(sql)
 
        result=cur.fetchall()
 
        num_fields = len(cur.description)
 
        field_names = [i[0] for i in cur.description]
 
        print field_names
 
        for row in result:
 
                print row[0], "|",row[1],"|",row[2],"|",row[3],"|",row[4],"|",row[5],"|",row[6],"|",row[7],"|",row[8],"|",row[9],"|",row[10]
 
        cur.close()
 
        conn.close()
 
except MySQLdb.Error,e:
 
             print "Mysql Error %d: %s" % (e.args[0], e.args[1])
 
當創建表語句為
CREATE TABLE yujx(id int)
]$ python inc-mysql.py
 
['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 | 1 | Audit completed | Set engine to innodb for table 'yujx'.
 
Set charset to one of 'utf8mb4' for table 'yujx'.
 
Set comments for table 'yujx'.
 
Column 'id' in table 'yujx' have no comments.
 
Column 'id' in table 'yujx' is not allowed to been nullable.
 
Set Default value for column 'id' in table 'yujx'
 
Set a primary key for table 'yujx'. | CREATE TABLE yujx(id int) | 0 | '0_0_1' | 127_0_0_1_3306_test | 0 |
 
CREATE TABLE yujx(id int) engine=innodb;
]$ python inc-mysql.py
 
['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 | 1 | Audit completed | Set charset to one of 'utf8mb4' for table 'yujx'.
 
Set comments for table 'yujx'.
 
Column 'id' in table 'yujx' have no comments.
 
Column 'id' in table 'yujx' is not allowed to been nullable.
 
Set Default value for column 'id' in table 'yujx'
 
Set a primary key for table 'yujx'. | CREATE TABLE yujx(id int) engine=innodb | 0 | '0_0_1' | 127_0_0_1_3306_test | 0 |
 
以此類推,直到如下完整的創建語句時,終于成功
 
CREATE TABLE yujx(id int comment 'test' primary key) engine=innodb DEFAULT CHARSET=utf8mb4 comment '測試'
]$ python inc-mysql.py
 
['ID', 'stage', 'errlevel', 'stagestatus', 'errormessage', 'SQL', 'Affected_rows', 'sequence', 'backup_dbname', 'execute_time', 'sqlsha1']
 
1 | RERUN | 0 | Execute Successfully | None | use test | 0 | '1464252128_35_0' | None | 0.000 |
 
2 | EXECUTED | 0 | Execute Successfully | None | CREATE TABLE yujx(id int comment 'test' primary key) engine=innodb DEFAULT CHARSET=utf8mb4 comment '測試' | 0 | '1464252128_35_1' | 127_0_0_1_3306_test | 0.010 |
 
如上,是默認的inception審核規則,用戶可以根據自己的實際情況來自定義某些規則
 
Inception操作LOG
]$ tail -f /inception/inception-master/yk/mysql/bin/inception.log     
 
                   24 Query     /*--user=yujx;--password=yujx;--host=127.0.0.1;--execute=1;--port=3306;*/    inception_magic_start;    use test;    CREATE TABLE yujx(id int) engine=innodb;    inception_magic_commit
 
 
 
160526 16:42:08    25 Query     set autocommit=0
 
 
 
                   25 Query     /*--user=yujx;--password=yujx;--host=127.0.0.1;--execute=1;--port=3306;*/    inception_magic_start;    use test;    CREATE TABLE yujx(id int comment 'test' primary key) engine=innodb DEFAULT CHARSET=utf8mb4 comment '測試';    inception_magic_commit
 
 
 
160526 17:13:50    26 Query     select @@version_comment limit 1
 
 
 
160526 17:13:54    26 Query     inception get variables
 
Inception所支持的參數變量
參考:http://mysql-inception.github.io/inception-document/variables/
 
Inception備份功能
相關說明
Inception在做DML操作時,具有備份功能,它會將所有當前語句修改的行備份下來,存儲到一個指定的庫中,這些庫的指定需要通過幾個參數,它們分別是:
 
inception_remote_backup_host //遠程備份庫的host
 
inception_remote_backup_port //遠程備份庫的port
 
inception_remote_system_user //遠程備份庫的一個用戶
 
inception_remote_system_password //上面用戶的密碼
 
1.這些參數可以直接在命令行中指定,也可以在inc.cnf配置文件中指定。修改這些參數需要重啟inception服務。
 
2.Inception默認是開啟備份功能的,可以使用參數--disable-remote-backup=1來關閉備份功能
 
3.被影響的表如果沒有主鍵的話,就不會做備份
 
4.Inception備份用戶必須要具備CREATE、INSERT。CREATE權限用于創建表或者庫的,INSERT權限用于插入備份數據的,其它的權限不需要(也許是暫時的)
 
5.備份數據在備份機器的存儲,是與線上被修改庫一對一的。但因為機器的多(線上機器有很多)對一(備份機器只有一臺),所以為了防止庫名的沖突,備份機器的庫名組成是由線上機器的 IP 地址的點換成下劃線,再加上端口號,再加上庫名三部分,這三部分也是通過下劃線連接起來的,如:10_103_11_242_3306_test
 
6.對線上配置需求
 
線上服務器必須要打開 binlog,在啟動時需要設置參數log_bin、log_bin_index等關于 binlog 的參數。不然不會備份及生成回滾語句。
 
參數binlog_format必須要設置為 mixed 或者 row 模式,通過語句: set global binlog_format=mixed/row 來設置,如果是 statement 模式,則不做備份及回滾語句的生成。
 
參數 server_id 必須要設置為非0及非1,通過語句:set global server_id=server_id;來設置,不然在備份時會報錯。
 
線上服務器一定要有指定用戶名的權限,這個是在語句前面的注釋中指定的,做什么操作就要有什么權限,否則還是會報錯,如果需要執行的功能,則要有線上執行語句的權限,比如DDL及DML,同時如果要執行inception show 等遠程命令的話,有些語句是需要特殊權限的,這些權限也是需要授予的,關于權限這個問題,因為一般Inception是運行在一臺固定機器上面的,那么在選項中指定的用戶名密碼,實際上是Inception機器對線上數據庫訪問的權限,所以建議在使用過程中,使用專門固定的帳號來讓Inception使用,最好是一個只讀一個可寫的即可,這樣在執行時用可寫,審核或者查看線上狀態或者表庫結果時用只讀即可,這樣更安全。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区大胆人体摄影专业网站| 中文字幕久热精品视频在线| 国产成人精品在线观看| 久久五月情影视| 欧美国产激情18| 91久热免费在线视频| 欧美电影免费播放| 黑人巨大精品欧美一区二区三区| 91a在线视频| 欧美精品激情视频| 在线一区二区日韩| 午夜精品蜜臀一区二区三区免费| 成人性生交大片免费观看嘿嘿视频| 亚洲综合视频1区| 青青精品视频播放| 国产精品爽爽爽爽爽爽在线观看| 91在线免费视频| 亚洲老头同性xxxxx| 57pao成人国产永久免费| 精品国产1区2区| 久久精品中文字幕一区| 久久久国产在线视频| 国产日韩欧美电影在线观看| 日韩人体视频一二区| 欧美成人精品激情在线观看| 国产精品黄视频| 亚洲91精品在线| 欧美寡妇偷汉性猛交| 国产欧美日韩中文字幕| 国产xxx69麻豆国语对白| 欧美性受xxxx黑人猛交| 国产成人精品免费视频| 亚洲一区999| 日本久久中文字幕| 国产精品日韩电影| 亚洲第一页中文字幕| 精品中文字幕视频| 国产精品吹潮在线观看| 亚洲精品资源美女情侣酒店| 久久国产视频网站| 成人久久久久久| 精品久久中文字幕| 欧美激情一区二区三区高清视频| 丝袜美腿精品国产二区| 日韩日本欧美亚洲| 美女久久久久久久久久久| 精品久久香蕉国产线看观看亚洲| 日韩精品视频免费专区在线播放| 成人激情综合网| 亚洲精品在线观看www| 亚洲成人亚洲激情| 亚洲无av在线中文字幕| 欧美怡春院一区二区三区| 亚洲精品国产综合区久久久久久久| 亚洲视频欧洲视频| 欧美激情喷水视频| 久久精品国产亚洲精品| 国产精品第三页| 国产精品久久久久一区二区| 69国产精品成人在线播放| 欧美性猛交xxxx免费看漫画| 久久影视电视剧免费网站清宫辞电视| 爽爽爽爽爽爽爽成人免费观看| 国产v综合v亚洲欧美久久| 国产精品影院在线观看| 91精品视频专区| 欧美日韩在线视频观看| 亚洲精品suv精品一区二区| 国产成人精品999| 懂色av中文一区二区三区天美| 91热福利电影| 日韩在线小视频| 国产日韩在线看| 久久精品99无色码中文字幕| 亚洲国产天堂久久国产91| 日韩欧美亚洲成人| 日本aⅴ大伊香蕉精品视频| 国产精品久久一区| 日韩视频亚洲视频| 亚洲精品一区中文字幕乱码| 日韩欧美国产成人| 欧美自拍大量在线观看| 国产97在线播放| 在线日韩日本国产亚洲| 久久精品99久久香蕉国产色戒| 97精品一区二区三区| 久久99国产精品久久久久久久久| 国产精品久久久久久久av电影| 亚洲欧美在线免费观看| 日韩高清免费在线| 欧美成人午夜激情在线| 亚洲系列中文字幕| 成人国内精品久久久久一区| 欧美大片网站在线观看| 亚洲国产成人精品久久| 欧美夫妻性生活视频| 久久高清视频免费| 国产欧美在线视频| 在线观看国产成人av片| 中文字幕无线精品亚洲乱码一区| 91久热免费在线视频| 亚洲一区第一页| 中日韩午夜理伦电影免费| 精品国产一区二区三区久久久狼| 久久久视频在线| 国产97色在线| 亚洲97在线观看| 国产精品看片资源| 亚洲欧美精品中文字幕在线| 国产午夜一区二区| 国产日韩中文字幕| 色哟哟亚洲精品一区二区| 国产热re99久久6国产精品| 日本欧美一二三区| www.久久撸.com| 国产成人91久久精品| 欧美黄色免费网站| 亚洲一区二区三区四区视频| 欧美日韩裸体免费视频| 久久综合网hezyo| 成人午夜一级二级三级| 97视频在线观看播放| 国产精品99久久久久久久久久久久| 国产精品日韩在线观看| 欧美一区二区三区免费观看| 精品视频—区二区三区免费| 97成人精品视频在线观看| 国产福利视频一区| 精品欧美一区二区三区| 91免费国产网站| 最新91在线视频| 萌白酱国产一区二区| 欧美精品在线极品| 国产精品日日摸夜夜添夜夜av| 成人免费观看网址| 国产精品久久久久久中文字| 国产成人福利视频| 浅井舞香一区二区| 成人黄色av网| 色哟哟亚洲精品一区二区| 久久久电影免费观看完整版| 国产主播欧美精品| 亚洲精选一区二区| 欧美性猛交xxxx免费看漫画| 亚洲精品久久久久久久久久久| 亚洲综合在线小说| 欧美视频免费在线观看| 久久精品中文字幕电影| 久久精品视频在线观看| 日韩精品在线免费播放| 4p变态网欧美系列| 久久精品亚洲国产| 欧美国产日韩二区| 欧美国产日韩一区二区| 啪一啪鲁一鲁2019在线视频| 久久天天躁夜夜躁狠狠躁2022| 欧美日韩亚洲精品内裤| 日韩中文字幕免费| 久久久97精品| 国产精品久久久久91| 国产成人精品日本亚洲专区61| 91亚洲午夜在线| 欧美日韩成人黄色| 国产欧美久久一区二区|