技术分享 | 主从表的列不一致,复制是否会受影响

做者:郭斌斌

爱可生 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...

相关文章
相关标签/搜索