從庫(kù)有兩個(gè)線程IO線程和SQL線程
1.從庫(kù)的IO線程向主庫(kù)的主進(jìn)程發(fā)送請(qǐng)求,主庫(kù)驗(yàn)證從庫(kù),交給主庫(kù)IO線程負(fù)責(zé)數(shù)據(jù)傳輸;
2.主庫(kù)IO線程對(duì)比從庫(kù)發(fā)送過(guò)來(lái)的master.info里的信息,將binlog文件信息,偏移量和binlog文件名等發(fā)送給從庫(kù);
3.從庫(kù)接收到信息后,將binlog信息保存到relay-bin中,同時(shí)更新master.info的偏移量和binlog文件名;
4.從庫(kù)的SQL線程不斷的讀取relay-bin的信息,同時(shí)將讀到的偏移量和文件名寫道relay-log.info文件,binlog信息寫進(jìn)自己的數(shù)據(jù)庫(kù),一次同步操作完成;
5.完成上次同步后,從庫(kù)IO線程不斷的向主庫(kù)IO線程要binlog信息;
6.從庫(kù)如果也要做主庫(kù),也要打開log_bin和log-slave-update參數(shù)。