MySQL的复制是基于binlog来实现的。 流程如下涉及到三个线程,主库的DUMP线程,从库的IO线程和SQL线程。1. 主库将所有操作都记录到binlog中。当复制开启时,主库的DUMP线程根据从库IO线程的请求将binlog中的内容发送到从库。2. 从库的IO线程接受到 ...
MySQL的复制是基于binlog来实现的。
流程如下
涉及到三个线程,主库的DUMP线程,从库的IO线程和SQL线程。
1. 主库将所有操作都记录到binlog中。当复制开启时,主库的DUMP线程根据从库IO线程的请求将binlog中的内容发送到从库。
2. 从库的IO线程接受到主库DUMP线程发送的binlog事件后,将其写到本地的relay-log。
3. 从库的SQL线程重放relay-log中的事件。
实际上,在MySQL 4.0之前,复制只有两个线程,master和slave端各一个。在Slave端,该线程同时负责接收主库发来的binlog事件,也负责事件的重放,所以没有使用relay-log,这样容易导致,当binlog事件的重放速度较慢时,会影响binlog事件的接受。
复制的搭建
基本步骤如下:
1. 配置主库和从库
2. 创建复制的账号
3. 创建主库一致性快照
4. 根据主库的快照,建立从库
5. 开启复制
详细步骤如下
1. 配置主库和从库
主库
开启binlog并设置server-id
[mysqld]log-bin=mysql-binserver-id=1
原标题:浅析MySQL复制
关键词:MYSQL
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。