MySQL主從不同步的幾種情況總結

chenfeng發表於2016-06-21
1.網路的延遲
由於mysql主從複製是基於binlog的一種非同步複製,透過網路傳送binlog檔案,理所當然網路延遲是主從不同步的絕大多數的原因,特別是跨機房的資料同步出現這種機率非常的大,所以做讀寫分離,注意從業務層進行前期設計。

2.主從兩臺機器的負載不一致
由於mysql主從複製是主資料庫上面啟動1個io執行緒,而從上面啟動1個sql執行緒和1個io執行緒,當中任何一臺機器的負載很高,忙不過來,導致其中的任何一個執行緒出現資源不足,都將出現主從不一致的情況。

3.max_allowed_packet設定不一致
主資料庫上面設定的max_allowed_packet比從資料庫大,當一個大的sql語句,能在主資料庫上面執行完畢,從資料庫上面設定過小,無法執行,導致的主從不一致。

4.key自增鍵開始的鍵值跟自增步長設定不一致引起的主從不一致。

5.mysql異常當機情況下,如果未設定sync_binlog=1或者innodb_flush_log_at_trx_commit=1很有可能出現binlog或者relaylog檔案出現損壞,導致主從不一致。

6.mysql本身的bug引起的主從不同步。

7.版本不一致,特別是高版本是主,低版本為從的情況下,主資料庫上面支援的功能,從資料庫上面不支援該功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2120604/,如需轉載,請註明出處,否則將追究法律責任。

相關文章