MySQL主從復(fù)制不一致的情況有哪些

這篇文章給大家分享的是有關(guān)MySQL主從復(fù)制不一致的情況有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10多年以來,已經(jīng)為超過千家成都PVC花箱各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的超過千家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

1.網(wǎng)絡(luò)的延遲
由于mysql主從復(fù)制是基于binlog的一種異步復(fù)制,通過網(wǎng)絡(luò)傳送binlog文件,理所當(dāng)然網(wǎng)絡(luò)延遲是主從不同步的絕大多數(shù)的原因,特別是跨機(jī)房的數(shù)據(jù)同步出現(xiàn)這種幾率非常的大,所以做讀寫分離,注意從業(yè)務(wù)層進(jìn)行前期設(shè)計。

2.主從兩臺機(jī)器的負(fù)載不一致
由于mysql主從復(fù)制是主數(shù)據(jù)庫上面啟動1個io線程,而從上面啟動1個sql線程和1個io線程,當(dāng)中任何一臺機(jī)器的負(fù)載很高,忙不過來,導(dǎo)致其中的任何一個線程出現(xiàn)資源不足,都將出現(xiàn)主從不一致的情況。

3.max_allowed_packet設(shè)置不一致
主數(shù)據(jù)庫上面設(shè)置的max_allowed_packet比從數(shù)據(jù)庫大,當(dāng)一個大的sql語句,能在主數(shù)據(jù)庫上面執(zhí)行完畢,從數(shù)據(jù)庫上面設(shè)置過小,無法執(zhí)行,導(dǎo)致的主從不一致。
4.key自增鍵開始的鍵值跟自增步長設(shè)置不一致引起的主從不一致。

5.mysql異常宕機(jī)情況下,如果未設(shè)置sync_binlog=1或者innodb_flush_log_at_trx_commit=1很有可能出現(xiàn)binlog或者relaylog文件出現(xiàn)損壞,導(dǎo)致主從不一致。

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

7.版本不一致,特別是高版本是主,低版本為從的情況下,主數(shù)據(jù)庫上面支持的功能,從數(shù)據(jù)庫上面不支持該功能。
以上就是常見的一些主從不同步的情況。或許還有其他的一些不同步的情況,請說出你所遇到的主從不一致的情況。
基于以上情況,先保證max_allowed_packet、自增鍵開始點和增長點設(shè)置一致,再者犧牲部分性能在主上面開啟sync_binlog,對于采用innodb的庫,推薦配置下面的內(nèi)容:
1)、innodb_flush_logs_at_trx_commit = 1
2)、innodb-support_xa = 1 # Mysql 5.0 以上
3)、innodb_safe_binlog      # Mysql 4.0
同時在從數(shù)據(jù)庫上面推薦加入下面兩個參數(shù):
1)、skip_slave_start
2)、read_only

8.主庫的從庫太多,導(dǎo)致復(fù)制延遲
從庫數(shù)據(jù)以3-5個為宜,要復(fù)制的從節(jié)點數(shù)量過多,會導(dǎo)致復(fù)制延遲

9.從庫硬件比主庫差,導(dǎo)致復(fù)制延遲
查看Master和Slave的系統(tǒng)配置,可能會因為機(jī)器配置不當(dāng),包括磁盤I/O、CPU、內(nèi)存等各方面因素造成復(fù)制的延遲。一般發(fā)生在高并發(fā)大數(shù)據(jù)量寫入場景中

10.慢SQL語句過多
假如一條SQL語句執(zhí)行時間是20秒,那么從執(zhí)行完畢到從庫上能查到數(shù)據(jù)至少需要20秒,這樣就延遲20秒了。
一般要把SQL語句的優(yōu)化作為常規(guī)工作不斷地進(jìn)行監(jiān)控和優(yōu)化,如果單個SQL的寫入時間長,可以修改后分多次寫入。通過查看慢查詢?nèi)罩净騭how full processlist命令,找出執(zhí)行時間長的查詢語句或大的事務(wù)

11.主從復(fù)制的設(shè)計問題
例如主從復(fù)制單線程,如果主庫寫并發(fā)太大,來不及傳送到從庫,就會導(dǎo)致延遲。更高版本的Mysql可以支持多線程復(fù)制,門戶網(wǎng)站則會開發(fā)自己的多線程同步功能。

12.主從庫之間的網(wǎng)絡(luò)延遲
主從庫的網(wǎng)卡、網(wǎng)線、交換機(jī)等網(wǎng)絡(luò)設(shè)備都可能成為復(fù)制的瓶頸,導(dǎo)致復(fù)制延遲。另外,跨公網(wǎng)的主從復(fù)制很容易導(dǎo)致主從復(fù)制延遲

13.主庫讀寫壓力大,導(dǎo)致復(fù)制延遲
架構(gòu)的前端要加buffer及緩存層

感謝各位的閱讀!關(guān)于“MySQL主從復(fù)制不一致的情況有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享名稱:MySQL主從復(fù)制不一致的情況有哪些
URL地址:http://bm7419.com/article8/geggop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)站維護(hù)、服務(wù)器托管、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)