中繼日志是連接mastert和slave的信息,它是復制的核心,I/O線程將來自master的事件存儲到中繼日志中,中繼日志充當緩沖,這樣master不必等待slave執行完成就可以發送下一個事件。
在上圖中,我們可以看到中繼日志和binlog的結構差不多,只不過是多了一些文件,中繼日志維護兩個文件來跟蹤復制的進度,即中繼日志信息文件和master日志信息文件,文件名由是配置文件中的兩個參數控制:
relay-log-info-file=filename,如果沒有指定,則該文件位于服務器的數據目錄下,默認文件名為relay-log.info。relay log info log文件記錄了備節點應用relay log文件的進度情況
[root@linux-node2 data]# cat relay-log.info
7
./slave-relay-bin.000002
284
master-bin.000002
334
0
0
1
mater-info-file=filename,這個參數設置master日志信息文件名,默認文件名為:master.info,文件中包含mater的讀位置,以及連接master和啟動復制必需的所有信息。當slave的I/O線程啟動時,如果有master.info文件,則線程從這個文件讀取信息。
[root@linux-node2 data]# cat master.info
23#文件的行數
master-bin.000002#當前正在讀取的linlog文件
334#最后讀取的binlog位置
192.168.10.71#master主機
repl_user#復制用戶
123456#用戶的密碼
3306#master的端口
60#slave嘗試重新連接的次數
0#啟用ssl,值為1,否則為0
0
30.000#心跳
0
0e9896a7-14f7-11e7-a0e6-000c2900551e#master的UUID
86400#重試的次數
0
執行start slave命令,中繼日志文件,master.info文件和reloy-log.info文件才會被創建。resset slave命令執行會刪除master.info文件和reloy-log.info兩個文件。