MySQL 4种不同类型数据同步

来自Linux78|wiki
Bob讨论 | 贡献2020年12月10日 (四) 15:22的版本 (创建页面,内容为“异步复制: 是最早出现的复制技术,MySQL内置支持,不需要额外安装插件。 其中,一个实例充当主库,一个或多个其他实例…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

异步复制:

是最早出现的复制技术,MySQL内置支持,不需要额外安装插件。

其中,一个实例充当主库,一个或多个其他实例充当从库,与同步复制形成对比。

半同步复制:

MySQL 5.7(从MySQL 5.5开始支持半同步复制)除内置了异步复制之外,还支持半同步复制。

使用半同步复制时,主库的会话在提交事务之前,会等待至少一个从库返回收到二进制日志的ACK消息(确认接收,并将事务的事件记录到从库的中继日志中)。

延迟复制:

MySQL 5.7还支持延迟复制(从MySQL 5.6开始支持),使得从库可以故意滞后于主库至少一段指定的时间,以便在出现误操作时,有时间对误操作的数据进行补救。

同步复制:指的是需要保证写操作完全同步到其他数据节点,而不仅仅是二进制日志被其他节点接收。

例如NDB Cluster,它是一种集群架构,所有节点都可以进行读/写,而且每个节点上发生的写操作都会实时同步到其他节点。

对于需要同步复制的场景,可以使用NDB Cluster,或者其他类似的开源解决方案(虚拟同步,非完全同步),例如Percona XtraDB Cluster(PXC)、MariaDB Galera Cluster(MGC)、MySQL Group Replication(MGR)。