久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

136次閱讀
沒有評論

共計 2871 個字符,預計需要花費 8 分鐘才能閱讀完成。

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

goinception 介紹

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

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、功能對比

2、速度

3、使用

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

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

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計2871字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 宜川县| 西宁市| 论坛| 南阳市| 雷州市| 汝城县| 夏邑县| 江阴市| 岚皋县| 武冈市| 利川市| 绥棱县| 肇东市| 易门县| 五大连池市| 哈尔滨市| 高唐县| 民丰县| 游戏| 同江市| 霍邱县| 泰安市| 宁强县| 西乌珠穆沁旗| 玉树县| 嘉定区| 武强县| 晋江市| 新密市| 大洼县| 常熟市| 论坛| 田阳县| 栖霞市| 新野县| 怀安县| 甘肃省| 安吉县| 盐边县| 进贤县| 曲阳县|