MySQL復(fù)制原理,其通過(guò)三個(gè)線程來(lái)完成,在master節(jié)點(diǎn)上運(yùn)行的binlogdump線程以及在slave節(jié)點(diǎn)上運(yùn)行的I/O線程和SQL線程。
1. master節(jié)點(diǎn)上的binlogdump線程,在slave與其正常連接的情況下,將binlog發(fā)送到slave上。
2.slave節(jié)點(diǎn)上的I/O線程,通過(guò)讀取master節(jié)點(diǎn)發(fā)送的內(nèi)容,并將數(shù)據(jù)復(fù)制到本地的relaylog中。
3.slave節(jié)點(diǎn)上的SQL線程,讀取relaylog中的日志,并將其事務(wù)在本地執(zhí)行。
環(huán)境:server7:172.25.66.7(master)
server8:172.25.66.8(slave)
在server7中:
vim /etc/my.cnf
/etc/init.d/mysqld start
進(jìn)行數(shù)據(jù)庫(kù)初始化,第一次輸入的密碼為上面查看日志的臨時(shí)密碼,后面為root用戶設(shè)置的密碼要盡可能復(fù)雜,否則一直提示錯(cuò)誤
在server8中也做相關(guān)操作
vim /etc/my.cfg
server8:查看授權(quán)是否成功
在master中:查看狀態(tài)
在slave中:
測(cè)試:
在master中
在slave中: