传统的 MySQL 复制提供了一种简单的主从复制方法。有一个主要(源)和一个或多个辅助(副本)。主要执行事务,提交它们,然后它们稍后(因此是异步的)发送到辅助节点以重新执行(在基于语句的复制中)或应用(在基于行的复制中)。它是一个无共享系统,默认情况下所有服务器都有数据的完整副本。
还有半同步复制,它在协议中增加了一个同步步骤。这意味着主节点在提交时等待从节点确认它已收到事务。只有这样 Primary 才会恢复提交操作。
在上面的两张图片中,您可以看到经典的异步 MySQL 复制协议(及其半同步变体)的图表。不同实例之间的箭头表示服务器之间交换的消息或服务器与客户端应用程序之间交换的消息。