中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用MySQL自動化運維工具goinception

發布時間:2021-10-22 16:16:34 來源:億速云 閱讀:364 作者:iii 欄目:數據庫

這篇文章主要講解了“如何使用MySQL自動化運維工具goinception”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用MySQL自動化運維工具goinception”吧!

goinception介紹

goInception是一個集審核、執行、備份及生成回滾語句于一身的MySQL運維工具, 通過對執行SQL的語法解析,返回基于自定義規則的審核結果,并提供執行和備份及生成回滾語句的功能。

goinception架構

如何使用MySQL自動化運維工具goinception

goinception安裝

官方提供了幾種的安裝方式,如下。

  •  1、源碼安裝

源碼安裝需要有go V1.2版本以上的環境,使用go mod作依賴管理。

[root@centos7 ~]# git clone https://github.com/hanchuanchuan/goInception.git  [root@centos7 ~]# cd goInception  [root@centos7 ~]# make parser  [root@centos7 ~]# go build -o goInception tidb-server/main.go
  • 2、docker方式 

[root@centos7 ~]# docker pull hanchuanchuan/goinception
  •  3、二進制安裝(推薦)

直接上官方提供的地址:https://github.com/hanchuanchuan/goInception/releases/download/去下載對應的版本文件,下載完成后直接解壓運行即可。

[root@centos7 ~]# mkdir goinception  [root@centos7 ~]# tar zxf goInception-linux-amd64-v1.2.3.tar.gz -C ./goinception/  [root@centos7 ~]# cd goinception/  [root@centos7 goinception]# ll  total 38476  drwxr-xr-x 2 root root        33 Aug 30 03:48 config  -rwxr-xr-x 1  501 games 39399424 May 22 07:45 goInception

解壓完成后,在config目錄下會看到一個默認的配置文件:config.toml.default,大家可以根據實際情況修改。

goInception采用TiDB源碼重構,所以部分參數可參考TiDB相關文檔

config.toml文件由幾部分組成,分別為最外層配置如host,port等,以及各分組如[inc],[log]等。示例(該示例僅為展示config.toml文件結構,詳細參數請參考):https://github.com/hanchuanchuan/goInception/blob/master/config/config.toml.default

host = "0.0.0.0"  port = 4000  path = "/tmp/tidb"  [log]  # 日志參數  level = "info"  format = "text"  [log.file]  # 日志文件參數  filename = ""  max-size = 300  [inc]  # 審核選項  enable_nullable = true  enable_drop_table = false  check_table_comment = false  check_column_comment = false  # 等等...  [osc]  # pt-osc參數  osc_on = false  osc_min_table_size = 16 [ghost]  # gh-ost參數  ghost_allow_on_master = true

配置修改完成后,就可以正常啟動了。

[root@centos7 goinception]# ./goInception -config=config/config.toml  [root@centos7 ~]# netstat -lntp|grep 4000  tcp6   0   0 :::4000    :::*    LISTEN    1250/./goInception

使用實例

/*--user=root;--password=root;--host=127.0.0.1;--check=1;--port=3306;*/  inception_magic_start;  use test;  create table t1(id int primary key);  inception_magic_commit;

其它介紹

1、結果信息

給用戶返回的信息有兩種,

  •  一種是提交給goInception的基礎信息存在錯誤,比如源信息不全,或者源信息有錯誤等,這種情況下,直接報異常,包括錯誤碼及錯誤信息,與MySQL服務器的異常是一樣的,在外面正常處理即可。

  •  二是如果沒有上面的問題,都會以結果集的方式將檢查結果告訴客戶端。和mysql原生結果集一致。返回的結果集中,每一個行數據,就是一條提交的SQL語句,goInception內部將所有提交的語句塊一條條的拆開,以結果集的方式返回,針對每一條語句,有什么問題或者狀態,在結果集中是一目了然。

注意:如果在語句中出現語法錯誤,則不能繼續了,因為goInception已經不能將剩下的語句分開了,那么此時前面已經正常檢查的多行為多個結果集的行返回,后面出錯的語句為一行返回,當然這個的錯誤信息是語法錯誤。

2、自帶備份功能

自帶備份功能,首先服務啟動時配置config.toml(放在 [inc] 段)

參數默認可選范圍說明
    
backup_host""string備份數據庫IP地址
backup_port0int備份數據庫端口
backup_user""string備份數據庫用戶名
backup_password""string備份數據庫密碼

并且在執行sql時,添加 --backup=true 或 --backup=1 選項。

3、審核規則

相關的審核規則,審核選項等詳細信息,可以參考:

https://hanchuanchuan.github.io/goInception/rules.html

對比Inception

1、功能對比

如何使用MySQL自動化運維工具goinception

2、速度

如何使用MySQL自動化運維工具goinception

3、使用

如何使用MySQL自動化運維工具goinception

這類工具在一定程度上解放了DBA的雙手,而且還能在很大程度上避免出錯的情況,從而保證SQL的執行正確率,同時還提供SQL回滾功能,在出錯時進行回滾,保證數據安全與完整性。

感謝各位的閱讀,以上就是“如何使用MySQL自動化運維工具goinception”的內容了,經過本文的學習后,相信大家對如何使用MySQL自動化運維工具goinception這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙海市| 开江县| 高雄县| 涟水县| 农安县| 开原市| 高尔夫| 中宁县| 竹山县| 永济市| 武乡县| 汾阳市| 德阳市| 翼城县| 长乐市| 泸水县| 七台河市| 永登县| 宝兴县| 元氏县| 咸宁市| 平安县| 屏南县| 资兴市| 桃江县| 长寿区| 东方市| 伊川县| 黑河市| 邯郸市| 互助| 巴彦淖尔市| 海门市| 万载县| 辽中县| 道真| 越西县| 丹阳市| 鲁甸县| 万年县| 仁寿县|