简书付费文章

第22节:从库的IO线程

2020-03-16  本文已影响0人  重庆八怪

本节包含一个笔记如下:
https://www.jianshu.com/p/a81d62bf6b31


如果要保证从库的IO线程、SQL线程、以及MTS工作线程的正常启动,就必须保证表slave_master_info、表slave_relay_log_info、表slave_worker_info和relay log的信息是准确的(我们只考虑信息保存在TABLE中的情况),否则启动后可能会出现错误。

当然在GTID AUTO_POSITION MODE模式下面位点信息的作用将被弱化,下面我们就能看到GTID AUTO_POSITION MODE模式下只需要将从库Retrieved_Gtid_Set和Executed_Gtid_Set的并集交给主库就可以了。另外如果设置了recovery_relay_log=ON,slave_master_info和relay log的作用也会弱化。这些我们将在25节进行描述,这里就假定它们都是正确的,否则就没有办法描述了。

总的说来IO线程有三个主要的功能:

  1. 初始化情况下将需要读取的信息发送给主库。
  2. 接收来自DUMP线程的Event。
  3. 将这些Event写入到relay log。

一、IO线程的启动流程图

,我将用一张图来展示大概的流程,如下(图22-1):

上一篇 下一篇

猜你喜欢

热点阅读