本节包含一个笔记如下:
https://www.jianshu.com/p/de323358fd49
这一节将会介绍主库的DUMP线程的启动和工作流程。对于每一个从库在主库都对应了一个DUMP线程,主要功能就是发送Event给从库如下:
mysql> select id,COMMAND,STATE from information_schema.processlist;
+----+------------------+---------------------------------------------------------------+
| id | COMMAND | STATE |
+----+------------------+---------------------------------------------------------------+
| 1 | Daemon | Waiting on empty queue |
| 3 | Query | executing |
| 9 | Binlog Dump GTID | Master has sent all binlog to slave; waiting for more updates |
+----+------------------+---------------------------------------------------------------+
实际上在启动之前还会和从库的IO线程进行多次的语句交互,然后注册从库,最后才是进行DUMP线程的启动。这些内容就放到IO线程的中进行讨论。这里主要讨论的是POSITION MODE模式和GTID AUTO_POSITION MODE模式下的启动流程。
一、POSITION MODE模式和GTID AUTO_POSITION MODE模式的不同
对于POSITION MODE模式和GTID AUTO_POSITION MODE模式获取从库的信息是不一样的,调用的接口也不一样。我认为这一点对于理解整个主从体系非常重要。
- POSITION模式:调用com_binlog_dump函数
网友评论