![](https://csdnimg.cn/release/download_crawler_static/87182528/bg4.jpg)
MySQL 复制技术有以下一些特点:
(1) 数据分布 (Data distribution )
(2) 负载平衡(load balancing)
(3) 备份(Backups)
(4) 高可用性和容错行 High availability and failover
复制如何工作
整体上来说,复制有 3 个步骤:
(1) master 将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,
binary log events);
(2) slave 将 master 的 binary log events 拷贝到它的中继日志(relay log);
(3) slave 重做中继日志中的事件,将改变反映它自己的数据。
下图描述了复制的过程:
该过程的第一部分就是 master 记录二进制日志。在每个事务更新数据完成之前,master
在二日志记录这些改变。MySQL 将事务串行的写入二进制日志,即使事务中的语句都是交
叉执行的。在事件写入二进制日志完成后,master 通知存储引擎提交事务。
下一步就是 slave 将 master 的 binary log 拷贝到它自己的中继日志。首先,slave 开
始一个工作线程——I/O 线程。I/O 线程在 master 上打开一个普通的连接,然后开始
binlog dump process。Binlog dump process 从 master 的二进制日志中读取事件,如果
已经跟上 master,它会睡眠并等待 master 产生新的事件。I/O 线程将这些事件写入中继
日志。