mysql主從同步怎么做?

?先先了解mysql主從同步的原理

1. master提交完事務后,寫?binlog

2. slave連接到master,獲取binlog

3. master創(chuàng)建dump線程,推送binglog到slave

4. slave啟動?個IO線程讀取同步過來的master的binlog,記錄到relay log中繼?志中

5. slave再開啟?個sql線程讀取relay log事件并在slave執(zhí)?,完成同步

6. slave記錄??的binglog

由于mysql默認的復制?式是異步的,主庫把?志發(fā)送給從庫后不關?從庫是否已經(jīng)處理,這樣會產(chǎn)??個問題就是假設主庫掛了,從庫處理失敗了,這時候從庫升為主庫后,?志就丟失了。由此產(chǎn)?兩個概念。

全同步復制

主庫寫?binlog后強制同步?志到從庫,所有的從庫都執(zhí)?完成后才返回給客戶端,但是很顯然這個?式的話性能會受到嚴重影響。

半同步復制

和全同步不同的是,半同步復制的邏輯是這樣,從庫寫??志成功后返回ACK確認給主庫,主庫收到?少?個從庫的確認就認為寫操作完成。

主從的延遲怎么解決呢?

1. 針對特定的業(yè)務場景,讀寫請求都強制?主庫

2. 讀請求?從庫,如果沒有數(shù)據(jù),去主庫做?次查詢

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容