溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Online DDL gh-ost工具測(cè)試

發(fā)布時(shí)間:2020-06-27 17:24:19 來(lái)源:網(wǎng)絡(luò) 閱讀:970 作者:Hiny_t 欄目:數(shù)據(jù)庫(kù)

OS:centos 6.5

DB:percona server 5.6.32

gh-ost:1.0.21

DB-M:192.168.128.128

DB-S : 192.168.128.129

簡(jiǎn)介:

gh-ost是github開(kāi)源的一款在線執(zhí)行sql的開(kāi)源工具??梢杂糜谠诰€表結(jié)構(gòu)變更(特別是大表,原因下面講)

在線表結(jié)構(gòu)變更,目前常用有以下幾種方式:

1.小表:online ddl (5.6及其以后版本)

創(chuàng)建臨時(shí)表為更改后的表結(jié)構(gòu),更新臨時(shí)表數(shù)據(jù),原表的新入數(shù)據(jù)記錄入內(nèi)存中的alter log,rename

2.大表:pt-ost工具。觸發(fā)器機(jī)制

3.大表:gh-ost。,創(chuàng)建臨時(shí)表。無(wú)觸發(fā)器,根據(jù)binlog機(jī)制

測(cè)試:

test庫(kù)下usertb表(1000w)

Online DDL gh-ost工具測(cè)試

 

 

gh-ost測(cè)試:

gh-ost \

--max-load=Threads_running=25 \

--critical-load=Threads_running=64 \

--chunk-size=1000 \

--throttle-control-replicas="192.168.128.129:3306" \

--max-lag-millis=1500 \

--initially-drop-old-table \

--initially-drop-ghost-table \

--initially-drop-socket-file \

--ok-to-drop-table \

--conf="/etc/my.cnf" \

--host="192.168.128.129" \

--port=3306 \

--user="root" \

--password="thy" \

--database="test" \

--table="usertb" \

--verbose \

--alter="add ps_id int(10) default null" \

--switch-to-rbr \

--allow-master-master \

--cut-over=default \

--default-retries=120 \

--panic-flag-file=/tmp/ghost.panic.flag \

--postpone-cut-over-flag-file=/tmp/ghost.postpone.flag \

--execute

執(zhí)行過(guò)程中

128:

Online DDL gh-ost工具測(cè)試

129:

Online DDL gh-ost工具測(cè)試

 

最后:

Online DDL gh-ost工具測(cè)試

結(jié)論:從截圖可以看出,gh-ost的原理是利用了M-S和binlog的工作模式,在無(wú)觸發(fā)器的機(jī)制上最大程度的減少了對(duì)主庫(kù)的侵入以及MDL對(duì)于源數(shù)據(jù)的保護(hù),后期可以考慮作為大表ddl的工具。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI