mysql主从复制工作原理

MySQL复制功能是通过三个线程实现的,一个在主服务器上,两个在从服务器上:
  • Binlog dump thread: 在slave连接master时,master创建了一个线程, 将二进制日志内容发送给slave。 这个线程可以在master上使用show processlist查看到,是一个标识为该Binlog Dump线程。
  • Slave I/O thread: 当执行start slave在slave服务器上时,slave服务器创建一个I / O线程,该线程连接到master服务器并要求master服务器发送记录在其二进制日志中的更新。
    从属I / O线程读取master 服务器Binlog Dump线程发送的更新,并将其复制到slave服务器中继日志relay-log的文件中。
    同样也可以通过 show processlist命令查看,该线程的状态显示为 Slave_IO_running
  • Slave SQL thread: slave服务器创建一个SQL线程以读取中继日志(relay-log)中的事件并执行。
master的Binlog dump thread查看
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 2
   User: root
   Host: localhost:32931
     db: NULL
Command: Binlog Dump
   Time: 94
  State: Has sent all binlog to slave; waiting for binlog to
         be updated
   Info: NULL
slave的Slave I/O thread和Slave SQL thread查看
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 10
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 11
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 11
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 11
  State: Has read all relay log; waiting for the slave I/O
         thread to update it
   Info: NULL
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值