麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > 文庫 > 正文

Inception相關(guān)功能學(xué)習(xí)

2024-09-07 22:12:39
字體:
供稿:網(wǎng)友
       Inception安裝
      下載解壓
 
       ]$pwd
 
       /inception
 
       ]$unzip inception-master.zip
 
      安裝Inception
      ]$ cd /inception/inception-master/
 
#執(zhí)行如下命令,可以看到安裝幫助
 
]$ 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是所在平臺(默認(rèn)linux)
 
3.每次如果出錯之后,需要把編譯目錄刪除掉,重新執(zhí)行,不然會執(zhí)行出錯。
 
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服務(wù),更多的配置選項請參考文檔
 
啟動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端口已經(jīng)運行
 
連接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規(guī)定,在語句的最開始位置,要加上inception_magic_start;語句,在執(zhí)行語句塊的最后加上inception_magic_commit;語句,這2個語句在 Inception 中都是合法的、具有標(biāo)記性質(zhì)的可被正確解析的 SQL 語句。被包圍起來的所有需要審核或者執(zhí)行的語句都必須要在每條之后加上分號,其實就是批量執(zhí)行SQL語句。(包括use database語句之后也要加分號,這點與 MySQL 客戶端不同),不然存在語法錯誤
 
2、  目前執(zhí)行只支持通過C/C++接口、Python接口來對Inception訪問,這一段必須是一次性的通過執(zhí)行接口提交給Inception,那么在處理完成之后,Inception會返回一個結(jié)果集,來告訴我們這些語句中存在什么錯誤,或者是完全正常等等
 
 
 
/*--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;
 
下面是一段執(zhí)行上面語句的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])
 
當(dāng)創(chuàng)建表語句為
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 |
 
以此類推,直到如下完整的創(chuàng)建語句時,終于成功
 
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 |
 
如上,是默認(rèn)的inception審核規(guī)則,用戶可以根據(jù)自己的實際情況來自定義某些規(guī)則
 
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所支持的參數(shù)變量
參考:http://mysql-inception.github.io/inception-document/variables/
 
Inception備份功能
相關(guān)說明
Inception在做DML操作時,具有備份功能,它會將所有當(dāng)前語句修改的行備份下來,存儲到一個指定的庫中,這些庫的指定需要通過幾個參數(shù),它們分別是:
 
inception_remote_backup_host //遠(yuǎn)程備份庫的host
 
inception_remote_backup_port //遠(yuǎn)程備份庫的port
 
inception_remote_system_user //遠(yuǎn)程備份庫的一個用戶
 
inception_remote_system_password //上面用戶的密碼
 
1.這些參數(shù)可以直接在命令行中指定,也可以在inc.cnf配置文件中指定。修改這些參數(shù)需要重啟inception服務(wù)。
 
2.Inception默認(rèn)是開啟備份功能的,可以使用參數(shù)--disable-remote-backup=1來關(guān)閉備份功能
 
3.被影響的表如果沒有主鍵的話,就不會做備份
 
4.Inception備份用戶必須要具備CREATE、INSERT。CREATE權(quán)限用于創(chuàng)建表或者庫的,INSERT權(quán)限用于插入備份數(shù)據(jù)的,其它的權(quán)限不需要(也許是暫時的)
 
5.備份數(shù)據(jù)在備份機器的存儲,是與線上被修改庫一對一的。但因為機器的多(線上機器有很多)對一(備份機器只有一臺),所以為了防止庫名的沖突,備份機器的庫名組成是由線上機器的 IP 地址的點換成下劃線,再加上端口號,再加上庫名三部分,這三部分也是通過下劃線連接起來的,如:10_103_11_242_3306_test
 
6.對線上配置需求
 
線上服務(wù)器必須要打開 binlog,在啟動時需要設(shè)置參數(shù)log_bin、log_bin_index等關(guān)于 binlog 的參數(shù)。不然不會備份及生成回滾語句。
 
參數(shù)binlog_format必須要設(shè)置為 mixed 或者 row 模式,通過語句: set global binlog_format=mixed/row 來設(shè)置,如果是 statement 模式,則不做備份及回滾語句的生成。
 
參數(shù) server_id 必須要設(shè)置為非0及非1,通過語句:set global server_id=server_id;來設(shè)置,不然在備份時會報錯。
 
線上服務(wù)器一定要有指定用戶名的權(quán)限,這個是在語句前面的注釋中指定的,做什么操作就要有什么權(quán)限,否則還是會報錯,如果需要執(zhí)行的功能,則要有線上執(zhí)行語句的權(quán)限,比如DDL及DML,同時如果要執(zhí)行inception show 等遠(yuǎn)程命令的話,有些語句是需要特殊權(quán)限的,這些權(quán)限也是需要授予的,關(guān)于權(quán)限這個問題,因為一般Inception是運行在一臺固定機器上面的,那么在選項中指定的用戶名密碼,實際上是Inception機器對線上數(shù)據(jù)庫訪問的權(quán)限,所以建議在使用過程中,使用專門固定的帳號來讓Inception使用,最好是一個只讀一個可寫的即可,這樣在執(zhí)行時用可寫,審核或者查看線上狀態(tài)或者表庫結(jié)果時用只讀即可,這樣更安全。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产成年人网站 | 精品久久久久久久久久久久包黑料 | 久久久入口| 日本人乱人乱亲乱色视频观看 | 污版视频在线观看 | 欧美亚洲一区二区三区四区 | 91美女视频在线 | 欧美日本91精品久久久久 | 日本黄色免费片 | 欧美男女爱爱视频 | 精品国产一区二区亚洲人成毛片 | 国产色爱综合网 | 国产精品高潮视频 | 一级黄色影片在线观看 | 久久国产精品无码网站 | 久久综合九色综合久久久精品综合 | 免费的性生活视频 | 国产成人在线一区 | 久久国产精品久久久久 | 久草视频手机在线观看 | 56av国产精品久久久久久久 | 日韩av在线播放一区 | 欧美精品久久久久久久多人混战 | 久久99精品久久久久久秒播放器 | 国产无遮挡一区二区三区毛片日本 | 伦一区二区三区中文字幕v亚洲 | 国产一级毛片国产 | 欧美黄色一级片在线观看 | 国产 日韩 亚洲 欧美 | 国产亚洲精品综合一区91 | 日韩毛片网 | 午夜av男人的天堂 | 成人在线观看一区 | 久久国产精品二国产精品 | 久久成人精品视频 | 九九精品在线 | 色骚综合 | 久久久久久久一区二区 | 亚洲免费永久 | 久久福利剧场 | 国产日韩中文字幕 |