成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Inception自動審核工具介紹

IT那活兒 / 2818人閱讀
Inception自動審核工具介紹
[
Inception基礎(chǔ)介紹
]


Inception是一個集審核、執(zhí)行、備份及生成回滾語句于一身的MySQL運維工具,通過對執(zhí)行SQL的語法解析,返回基于自定義規(guī)則的審核結(jié)果,并提供執(zhí)行和備份及生成回滾語句的功能。Inception工作模式和MySQL完全相同,可以直接使用MySQL客戶端來連接,但不需要驗證權(quán)限,它相對應(yīng)用程序(上層審核流程系統(tǒng)等)而言,是一個服務(wù)器,在連接時需要指定服務(wù)器地址及Inception服務(wù)器的端口即可,而它相對要審核或執(zhí)行的語句所對應(yīng)的線上MySQL服務(wù)器來說,是一個客戶端,它在內(nèi)部需要實時的連接數(shù)據(jù)庫服務(wù)器來獲取所需要的信息,或者直接在在線上執(zhí)行相應(yīng)的語句及獲取binlog等,Inception就是一個中間性質(zhì)的服務(wù)。

[
Inception使用方式
]


Inception實際上是一個服務(wù)程序,那么它應(yīng)該有自己的一套友好的使用方式,必須要具備簡單、高效、易用等特性。那么為了讓Inception具有這些特點,在設(shè)計之初,就規(guī)定了它的使用方式,如下所述。


通過Inception對語句進(jìn)行審核時,必須要告訴Inception這些語句對應(yīng)的數(shù)據(jù)庫地址、數(shù)據(jù)庫端口以及Inception連接數(shù)據(jù)庫時使用的用戶名、密碼等信息,而不能簡單的只是執(zhí)行一條sql語句,所以必須要通過某種方式將這些信息傳達(dá)給Inception。而我們選擇的方式是,為了不影響語句的意義,將這些必要信息都以注釋的方式放在語句最前面,也就是說所有這些信息都是被/**/括起來的,每一個參數(shù)都是通過分號來分隔,類似的方式為:


/*--user=username;--password=xxxx;--host=127.0.0.1;--port=3306;*/

當(dāng)然支持的參數(shù)不止是這幾個,還有一些其它的參數(shù)

主要選項列表:

參數(shù)

默認(rèn)值

數(shù)據(jù)類型

說明

host

127.0.0.1

string

線上數(shù)據(jù)庫Ip地址

port

0

int

線上數(shù)據(jù)庫端口

user

‘’

string

線上數(shù)據(jù)庫用戶名

password

‘’

string

線上數(shù)據(jù)庫密碼

check

False

bool

開啟審核功能

execute

False

bool

開啟執(zhí)行功能

ignore_warnings

False

bool

是否忽略警告,僅在執(zhí)行時生效。該參數(shù)控制有警告時是繼續(xù)執(zhí)行還是中止


Inception要做的是一個語句塊的審核,需要引入一個規(guī)則,將要執(zhí)行的語句包圍起來,Inception規(guī)定,在語句的最開始位置,要加上inception_magic_start;語句,在執(zhí)行語句塊的最后加上inception_magic_commit;語句,這2個語句在Inception 中都是合法的、具有標(biāo)記性質(zhì)的可被正確解析的SQL語句。被包圍起來的所有需要審核或者執(zhí)行的語句都必須要在每條之后加上分號,其實就是批量執(zhí)行SQL語句。(包括use database語句之后也要加分號,這點與MySQL 客戶端不同),不然存在語法錯誤。


在具體執(zhí)行時,在沒有解析到inception_magic_start之前如果發(fā)現(xiàn)要執(zhí)行其它的語句,則直接報錯,因為規(guī)則中inception_magic_start是強制的。而如果在執(zhí)行的語句塊最后沒有出現(xiàn)inception_magic_commit,則直接報錯,不會做任何操作。在前面注釋部分,需要指定一些操作的選項,包括線上用戶名、密碼、數(shù)據(jù)庫地址、檢查/執(zhí)行等。下面是一個簡單的例子:


那么上面這一段就是一批正??梢詧?zhí)行的SQL語句,目前執(zhí)行只支持通過C/C++接口、Python接口來對Inception訪問,這一段必須是一次性的通過執(zhí)行接口提交給Inception,那么在處理完成之后,Inception會返回一個結(jié)果集,來告訴我們這些語句中存在什么錯誤,或者是完全正常等等。


請不要將下面的SQL語句塊,放到MySQL客戶端中執(zhí)行,因為這是一個自動化運維工具,如果使用交互式的命令行來使用的話沒有意義,只能是通過寫程序來訪問Inception服務(wù)器。


下面是一段執(zhí)行上面語句的Python程序的例子:


執(zhí)行這段程序之后,返回的結(jié)果如下:

從返回結(jié)果可以看到,每一行語句的審核及執(zhí)行信息,最前面打印的是field_names,表示Inception的返回結(jié)果集的列名信息,總共包括十個列,下面是每個列對應(yīng)的結(jié)果

標(biāo)題詳解:

  • Id:sql序號

  • Stage:所處階段

  • error_level:錯誤分級,通過/警告/錯誤

  • stage_status:階段處理匯報信息

  • error_message:全部錯誤信息

  • Sql:語句塊中被分離出的一條

  • affected_rows:預(yù)計/實際影響行數(shù)

  • Sequence:備份/回滾序列號

  • backup_dbname:備份數(shù)據(jù)庫名字

  • execute_time:當(dāng)前語句執(zhí)行時間,單位秒


[
Inception參數(shù)配置
]


Inception支持很多可配置的參數(shù),這些配置參數(shù)都是全局參數(shù),因為對于同一個服務(wù)的規(guī)則,不應(yīng)該經(jīng)常變化,或者說不應(yīng)該出現(xiàn)一些業(yè)務(wù)是這樣的規(guī)則,而另一些業(yè)務(wù)是那樣的規(guī)則,所以這些變量一經(jīng)設(shè)置,就影響所有的審核。如果確實一個公司有多個規(guī)則,則建議配置多套Inception服務(wù),在各自的配置文件中指定相應(yīng)的參數(shù)的值。


設(shè)置或者打印這些變量的值,可以通過MySQL客戶端連接到Inception服務(wù)器,通過新的語法命令來實現(xiàn)。連接Inception的時候,只需要指定Inception的地址及端口即可,其它用戶名密碼可以不指定,因為Inception沒有權(quán)限驗證的過程。


Inception打印變量時,不支持像原來的MySQL服務(wù)器一樣可以showvariables like ‘%name%’這樣實現(xiàn)模糊匹配,只能是精確匹配,如果找不到則返回空結(jié)果集,或者可以打印所有變量。語法如下:

支持語句

意義

inception get variables ‘variable_name’;

通過variable_name指定變量名稱,只顯示指定的變量名的值

inception get variables;

顯示Inception所有變量的值

inception set variable_name=value;

設(shè)置變量名為variable_name的變量的值

[
Inception線上配置需求
]


  1. 線上服務(wù)器必須要打開 binlog,在啟動時需要設(shè)置參數(shù)log_bin、log_bin_index等關(guān)于 binlog 的參數(shù)。不然不會備份及生成回滾語句。

  2. 參數(shù)binlog_format必須要設(shè)置為 mixed 或者 row 模式,通過語句: set global binlog_format=mixed/row 來設(shè)置,如果是 statement 模式,則不做備份及回滾語句的生成。

  3. 參數(shù) server_id 必須要設(shè)置為非0及非1,通過語句:set global server_id=server_id;來設(shè)置,不然在備份時會報錯。

  4. 線上服務(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é)果時用只讀即可,這樣更安全。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130148.html

相關(guān)文章

  • 留給傳統(tǒng) DBA 的時間不多了?看餓了么如何構(gòu)建數(shù)據(jù)庫平臺自動

    摘要:因為傳統(tǒng)的數(shù)據(jù)庫管理方式在當(dāng)前這種架構(gòu)下依靠手工或者借助簡單的工具是無法應(yīng)對多活架構(gòu)大規(guī)模管理帶來的復(fù)雜性,因此平臺化顯得非常重。我們在做的方案時做了充分調(diào)查及論證,最終沒有選擇這種方式。 蔡鵬,2015年加入餓了么,見證了餓了么業(yè)務(wù)&技術(shù)從0到1的發(fā)展過程,并全程參與了數(shù)據(jù)庫及DBA團(tuán)隊高速發(fā)展全過程。同時也完成個人職能的轉(zhuǎn)型-由運維DBA到DEV-DBA的轉(zhuǎn)變,也從DB的維穩(wěn)轉(zhuǎn)變到專心為...

    explorer_ddf 評論0 收藏0
  • CNN中千奇百怪的卷積方式大匯總

    摘要:原始版本最早的卷積方式還沒有任何騷套路,那就也沒什么好說的了。通過卷積核插的方式,它可以比普通的卷積獲得更大的感受野,這個的就介紹到這里。和前面不同的是,這個卷積是對特征維度作改進(jìn)的。 1.原始版本最早的卷積方式還沒有任何騷套路,那就也沒什么好說的了。見下圖,原始的conv操作可以看做一個2D版本的無隱層神經(jīng)網(wǎng)絡(luò)。附上一個卷積詳細(xì)流程:【TensorFlow】tf.nn.conv2d是怎樣實...

    elliott_hu 評論0 收藏0
  • 「不良視頻」如何消滅?她手把手教你走出第一步

    摘要:嚴(yán)肅的開場白故事要從深度學(xué)習(xí)說起。本文從視頻分類的角度,對深度學(xué)習(xí)在該方向上的算法進(jìn)行總結(jié)。數(shù)據(jù)集熟悉深度學(xué)習(xí)的朋友們應(yīng)該清楚,深度學(xué)習(xí)是一門數(shù)據(jù)驅(qū)動的技術(shù),因此數(shù)據(jù)集對于算法的研究起著非常重要的作用。是一個比較成功的傳統(tǒng)方法與深度學(xué)習(xí)算 showImg(https://segmentfault.com/img/bV7hQP?w=900&h=330); 不嚴(yán)肅的開場白 視頻社交已經(jīng)成為...

    Invoker 評論0 收藏0
  • 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)(CNN)結(jié)構(gòu)可視化工具

    摘要:前言本文將介紹一種在線網(wǎng)絡(luò)工具,可用于可視化各種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。其實本文要介紹的工具就是基于開發(fā)的,但更像是一個工具包一樣,可以方便找到各種經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)的。 前言本文將介紹一種在線網(wǎng)絡(luò)工具,可用于可視化各種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。學(xué)習(xí)Caffe的同學(xué),一定很熟悉Netscope。它就是用來可視化Caffe的prototxt文件,那么prototxt文件又是啥呢?簡而言之,prot...

    kidsamong 評論0 收藏0
  • CNN淺析和歷年ImageNet冠軍模型解析

    摘要:卷積神經(jīng)網(wǎng)絡(luò)原理淺析卷積神經(jīng)網(wǎng)絡(luò),最初是為解決圖像識別等問題設(shè)計的,當(dāng)然其現(xiàn)在的應(yīng)用不僅限于圖像和視頻,也可用于時間序列信號,比如音頻信號文本數(shù)據(jù)等。卷積神經(jīng)網(wǎng)絡(luò)的概念最早出自世紀(jì)年代科學(xué)家提出的感受野。 卷積神經(jīng)網(wǎng)絡(luò)原理淺析 ?卷積神經(jīng)網(wǎng)絡(luò)(Convolutional?Neural?Network,CNN)最初是為解決圖像識別等問題設(shè)計的,當(dāng)然其現(xiàn)在的應(yīng)用不僅限于圖像和視頻,也可用于時間序...

    edagarli 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<