MySQL数据复制是个异步操作,这个操作通过处理那些记录在主节点的二进制日志中的已执行完毕的DDL和DML语句来完成复制工作。一个MySQL从节点只能有一台MySQL主服务器。这个限制在以后的MySQL版本中会改变。如果使用Tungsten Replicator,现在就能解决这个局限。在单一从服务器中,二进制日志语句的处理是通过“拉取”流程来实现的。其实在大多数情况下,MySQL数据复制都能毫无意外地正常运作。
一些MySQL特性会使数据复制复杂化——比如,临时表处理。当MySQL从节点的数据在MySQL主节点是唯一时,也会有很多原因造成数据的不一致。我们或许要选择使用不同的存储引擎,而这些会输出同样的数据。或者对不同的数据使用BLACKHOLE存储引擎。针对数据复制,不同的配置选项可以包含或排除特定的表,又或者在处理SQL错误时执行不同的操作。在第7章中会详细讨论一些配置选项。
了解数据复制如何运作,并知道如何在我们的业务环境中有效地使用数据复制,都是很重要的。