pt-online-schema-change的操作原理簡單介紹

chenfeng發表於2017-12-19

(1).先建立一個空的臨時表;
(2).按照原始表alter table後的結構進行定義;
(3).在原始表上加入觸發器,將原始表在隨後的資料複製過程中產生的資料更改(insert、update和delete)同步到臨時表中;
(4).將原始表的資料複製到臨時表中,在複製過程中的資料修改將被觸發器同步到臨時表中,這樣保證原始表在進行alter table操作時不被鎖表;
(5).同步資料結束後,進行改名操作,將臨時表名稱改為原始表名並刪除掉原始表;
(6).刪除掉觸發器.

pt-osc使用需要注意的一些坑:
1.表內如果有重複資料的情況下,新增唯一鍵會導致資料丟失;
2.在行格式下,只在從庫使用pt-osc,同樣也會丟資料。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2148866/,如需轉載,請註明出處,否則將追究法律責任。

相關文章