真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL半同步復制-創(chuàng)新互聯(lián)

創(chuàng)新新互聯(lián),憑借10多年的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,本著真心·誠心服務的企業(yè)理念服務于成都中小企業(yè)設(shè)計網(wǎng)站有數(shù)千家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)建站
1、半同步復制簡介

何為半同步復制模式呢?在此我們先了解異步復制模式,這是MySQL的默認復制選項。異步復制即是master數(shù)據(jù)庫把binlog日志發(fā)送給slave數(shù)據(jù)庫,然后就沒有了然后了。在此暴露一個問題,當slave服務器發(fā)生故障了,那么肯定會導致主從數(shù)據(jù)庫服務器的數(shù)據(jù)不一致。

為了解決上面的問題,MySQL5.5引入一種叫做半同步復制模式。開啟這種模式,可以保證slave數(shù)據(jù)庫接收完master數(shù)據(jù)庫發(fā)送過來的binlog日志并寫入自己的中繼日志中,然后反饋給master數(shù)據(jù)庫,告知已經(jīng)復制完畢。

開啟這種模式后,當出現(xiàn)超時,主數(shù)據(jù)庫將會自動轉(zhuǎn)為異步復制模式,直到至少有一臺從服務器接受到主數(shù)據(jù)庫的binlog,并且反饋給主數(shù)據(jù)庫。這時主數(shù)據(jù)庫才會切換回半同步復制模式。

注意:

半同步復制模式必須在主服務器和從服務器同時中開啟,否則將會默認為異步復制模式。

2、環(huán)境說明

兩臺linux虛擬主機

Linux版本CentOS6.6、MySQL 5.5

ip:192.168.95.11(主)、192.168.95.12(從)

3、安裝與配置

  3.1、安裝前提

1、必須是MySQL5.5或者以上

2、MySQL必須有自動加載功能,即have_dynamic_loading變量為YES(因為我們是在MySQL里面來加載安裝這個功能插件)

 show variables like 'have_dynamic_loading'; #檢查是否具有自動加載功能

MySQL半同步復制

3、主從復制已經(jīng)配置好,并且已經(jīng)ing工作著的。

 主從復制配置教程:h tt p:// w w w.cn blo gs.co m/ph pstud y2015-6/p/6485819.html

  3.2、安裝

192.168.95.11加載安裝:

MySQL半同步復制

1 mysql>install plugin rpl_semi_sync_master soname 'semisync_master.so';2 3 mysql>show plugins;   #查看是否加載成功4 5 mysql>SET GLOBAL rpl_semi_sync_master_enabled = 1;  #開啟半同步復制,默認是關(guān)閉的

MySQL半同步復制

MySQL半同步復制

192.168.95.12加載安裝

MySQL半同步復制

 1 mysql>INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; 2  3 mysql>show plugins;   #查看是否加載成功 4  5 mysql>SET GLOBAL rpl_semi_sync_slave_enabled = 1;  #開啟半同步復制,默認是關(guān)閉的 6  7 #重啟從服務器IO線程,手動將異步模式切換為半同步模式 8  9 mysql>STOP SLAVE IO_THREAD;10 11 mysql>START SLAVE IO_THREAD;

MySQL半同步復制

  3.3、配置文件
1 rpl_semi_sync_master_enabled=1  #主庫配置文件添加,表示以后啟動MySQL將會自動開啟半同步復制2 3 rpl_semi_sync_slave_enabled=1  #從庫配置文件添加,同上

4、查看相關(guān)參數(shù)

1、主從執(zhí)行命令show variables like '%semi%';

master:

MySQL半同步復制

Rpl_semi_sync_master_enabled=ON表示開啟半同步復制

Rpl_semi_sync_master_timeout=1000默認1000毫秒,即10秒超時,將切換為異步復制

Rpl_semi_sync_master_wait_no_slave表示是否允許master每個事物都要等待slave接收確認,默認為ON

Rpl_semi_sync_master_trace_level=32表示用于開啟半同步復制時的調(diào)試級別,默認32

slave:

MySQL半同步復制

Rpl_semi_sync_slave_enabled=ON表示在slave已經(jīng)開始半同步復制模式

Rpl_semi_sync_slave_trace_level=32表示用于開啟半同步復制時的調(diào)試級別,默認32

2、主從執(zhí)行命令show status like '%semi%';

master

MySQL半同步復制

Rpl_semi_sync_master_status表示主服務器使用是異步還是半同步復制

Rpl_semi_sync_master_client表示從服務器有多少個配置成半同步復制

Rpl_semi_sync_master_yes_tx表示從服務器確認成功提交的數(shù)量

Rpl_semi_sync_master_no_tx表示從服務器確認失敗提交的數(shù)量

slave:

MySQL半同步復制

Rpl_semi_sync_slave_status表示從服務器開啟半同步復制

5、測試

模擬slave掛掉,master等待10s仍沒接收到反饋信號,則轉(zhuǎn)為異步復制模式,繼續(xù)執(zhí)行

首先同步創(chuàng)建數(shù)據(jù)庫aa

1、slave執(zhí)行stop slave;關(guān)閉主從復制

2、master在aa數(shù)據(jù)庫中創(chuàng)建表tab1,沒接收到反饋信號,等待十秒后(Rpl_semi_sync_master_timeout=1000等待超時),繼續(xù)執(zhí)行

master:

MySQL半同步復制

slave:

MySQL半同步復制

3、master在數(shù)據(jù)庫中再創(chuàng)建tab2,不需要等待反饋,直接執(zhí)行

【當反饋超時時,master將切換到異步復制模式。此時是異步模式,不需要等待】

 MySQL半同步復制

4、slave執(zhí)行start slave,數(shù)據(jù)開始同步,建立tab1、tab2,反饋給master,并切換為半同步復制

MySQL半同步復制

5、slave執(zhí)行stop slave;關(guān)閉主從復制

6、master在數(shù)據(jù)庫中創(chuàng)建表tab3,此時需要等待10s,接收slave反饋信號;等待超時,切換為異步復制模式,繼續(xù)執(zhí)行

【步驟4時,數(shù)據(jù)同步已經(jīng)反饋給master,此時master已經(jīng)是半同步復制模式】

MySQL半同步復制

6、總結(jié)

半同步復制模式的性能和并發(fā)比異步復制模式低的,因為每次復制都要進行反饋,相比之下多了一個步驟。

說實話我還是不太明白為什么半同步復制就可以保持數(shù)據(jù)的完整性呢?若是slave掛了,master還不是變回異步復制。和之前的全異步?jīng)]什么區(qū)別。還有就是即使多了個信息反饋,但是反饋回來除了讓master確認還有什么作用?假若slave掛了,沒有反饋信息,那master還是沒什么進一步的處理方法呀。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


本文題目:MySQL半同步復制-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/iddpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部