mysql 主从复制实现原理


Mysql主从复制通过三个线程来实现,其中一个运行于主服务器,另外两个运行于从服务器。


三个线程分别是:


Binlog dump thread

      当从服务器连接到主时,主服务器就会创建这个线程以便于发送二进制日志

到从服务器,可以在服务器上通过 "show processlist"查看。该线程在从二进制日

志读取将要发送到从服务器的事件之前获取读锁,事件读取完后,释放锁。


Slave I/O thread:

    从服务器上执行"start slave"语句后,从服务器就会创建一个I/O线程,通过

该线程连接到主服务器,并请求主服务器发送二进制日志更新。从服务器通过I/O

线程读取更新,主服务器通过"Binlog dump thread"线程复制和发送更新到从服务

器的本地文件,即中继日志。

     线程状态可以通过指令"show slave status"输出中的参数 "Slave_IO_runnning"

或者 "show status"输出中的"Slave_running"查看。


Slave SQL thread:

     从服务器创建sql线程读取IO线程写的中继日志文件,并执行事件.

     线程状态可通过指令"show slave status"输出中的参数 "Slave_SQL_runnning"

查看。

  


你可能感兴趣的:(数据库)