技術分享 | 主從表的列不一致,複製是否會受影響

做者:郭斌斌

愛可生 DBA 團隊成員,負責項目平常問題處理及公司平臺問題排查。html

本文來源:原創投稿mysql

*愛可生開源社區出品,原創內容未經受權不得隨意使用,轉載請聯繫小編並註明來源。sql

關於主從複製,目前用的比較廣泛的是 RBR(Row-base replication) 這種方式,有這麼一個問題你們能夠一塊兒思考一下。spa

問題:

RBR 主從複製,主庫表 A 有兩個字段 (c1 int,c2 int),從庫表 A 有一個字段 (c1 int),主庫對錶 A 的 c2 字段執行插入或者更新操做,主從複製是否會受影響?htm

結論:

結論是複製不受影響。get

驗證(版本 MySQL 5.7.25):

主庫 t1 表結構和數據同步

image

從庫 t1 表結構和數據it

image

從庫複製狀態:io

image

主庫執行 insert 操做:社區

image

從庫查看複製狀態和同步的結果:

image

image

主庫執行 update 操做

image

從庫查看複製狀態,並查看 t1 數據

image

image

緣由:

對於主從複製,主從同步的表結構實際上是能夠不一致的,主庫表的列數能夠比從庫表的多,也能夠比從庫表的少,可是這種場景對於複製無影響也是有條件的。

條件:

一、相同列的定義順序必須徹底一致。

二、相同列的定義必定在在差別列以前。

三、差別的列必需要有默認值。

參考連接:

https://dev.mysql.com/doc/ref...

相關文章
相關標籤/搜索