1 回答

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
1,MySQL 使用3 個(gè)線程來執(zhí)行復(fù)制功能(其中1 個(gè)在主服務(wù)器上,另兩個(gè)在從服務(wù)器上。當(dāng)從服務(wù)器發(fā)出START SLAVE時(shí),從服務(wù)器創(chuàng)建一個(gè)I/O線程,以連接主服務(wù)器并讓主服務(wù)器發(fā)送二進(jìn)制日志。主服務(wù)器創(chuàng)建一個(gè)線程將二進(jìn)制日志中的內(nèi)容發(fā)送到從服務(wù)器。從服務(wù)器I/O 線程讀取主服務(wù)
器Binlog Dump線程發(fā)送的內(nèi)容并將該數(shù)據(jù)拷貝到從服務(wù)器數(shù)據(jù)目錄中的本地文件中,即中繼
日志。第3個(gè)線程是SQL 線程,從服務(wù)器使用此線程讀取中繼日志并執(zhí)行日志中包含的更新。
2,如1所述,主服務(wù)器收到從服務(wù)器的同步請(qǐng)求后,開始向從服務(wù)器發(fā)送二進(jìn)制日志
3,附件的文檔可以參考下
注:你使用java程序同步數(shù)據(jù),先不說java的效率,僅僅全部sql都同步到從表再順序執(zhí)行就有問題,反復(fù)查庫,插數(shù)據(jù),還有數(shù)據(jù)不一致的問題,如insert into tab values (now())等等。
添加回答
舉報(bào)