本節(jié)包含一個筆記如下:
http://www.reibang.com/p/de323358fd49
這一節(jié)將會介紹主庫的DUMP線程的啟動和工作流程熟菲。對于每一個從庫在主庫都對應(yīng)了一個DUMP線程屡律,主要功能就是發(fā)送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線程的啟動负蠕。這些內(nèi)容就放到IO線程的中進行討論他托。這里主要討論的是POSITION MODE模式和GTID AUTO_POSITION MODE模式下的啟動流程礼仗。
一祸憋、POSITION MODE模式和GTID AUTO_POSITION MODE模式的不同
對于POSITION MODE模式和GTID AUTO_POSITION MODE模式獲取從庫的信息是不一樣的会宪,調(diào)用的接口也不一樣。我認為這一點對于理解整個主從體系非常重要蚯窥。
- POSITION模式:調(diào)用com_binlog_dump函數(shù)