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"
查看。
本文转自 marbury 51CTO博客,原文链接:http://blog.51cto.com/magic3/1540299