MySQL数据库半同步复制
半同步復(fù)制,是有一個(gè)從節(jié)點(diǎn)或者一部分從節(jié)點(diǎn)與主節(jié)點(diǎn)之間是同步復(fù)制的,其他的從節(jié)點(diǎn)仍是異步復(fù)制
半同步復(fù)制是谷歌公司貢獻(xiàn)給MySQL的一個(gè)插件,默認(rèn)在MySQL中沒有此插件,所以要實(shí)現(xiàn)主從的版同步復(fù)制需要安裝此插件
rpm?-ql?mariadb-server|?grep?semi #找到需要安裝的插件,以so結(jié)尾SHOW?PLUGINS; #查看當(dāng)前支持的插件,此處也能看到myisam和innodb也是插件類型下面開始介紹如何配置主從版同步復(fù)制:
1、創(chuàng)建傳統(tǒng)的主從復(fù)制功能的mysql,請(qǐng)參考‘MySQL數(shù)據(jù)庫主從復(fù)制’一文(http://panpangao.blog.51cto.com/10624093/1981418? )
2、在主節(jié)點(diǎn)安裝半同步復(fù)制插件
INSTALL?PLUGIN?rpl_semi_sync_master?SONAME?'semisync_master';?//格式都是固定的不可隨意修改 SHOW?GLOBAL?VARIABLES?LIKE?'rpl_semi%';????//查看主節(jié)點(diǎn)的半同步復(fù)制功能,此時(shí)尚未開啟 SET?GLOBAL?rpl_semi_sync_master_enabled=ON;??//開啟SHOW?GLOBAL?STATUS?LIKE?'%rpl%';????????????//查看狀態(tài),關(guān)鍵是查看?Rpl_semi_sync_master_clients數(shù)量,此時(shí)尚未配置從節(jié)點(diǎn)所以是0 +--------------------------------------------+-------------+ |?Variable_name??????????????????????????????|?Value???????| +--------------------------------------------+-------------+ |?Rpl_semi_sync_master_clients???????????????|?0???????????| |?Rpl_semi_sync_master_net_avg_wait_time?????|?0???????????| |?Rpl_semi_sync_master_net_wait_time?????????|?0???????????| |?Rpl_semi_sync_master_net_waits?????????????|?0???????????| |?Rpl_semi_sync_master_no_times??????????????|?0???????????| |?Rpl_semi_sync_master_no_tx?????????????????|?0???????????| |?Rpl_semi_sync_master_status????????????????|?ON??????????| |?Rpl_semi_sync_master_timefunc_failures?????|?0???????????| |?Rpl_semi_sync_master_tx_avg_wait_time??????|?0???????????| |?Rpl_semi_sync_master_tx_wait_time??????????|?0???????????| |?Rpl_semi_sync_master_tx_waits??????????????|?0???????????| |?Rpl_semi_sync_master_wait_pos_backtraverse?|?0???????????| |?Rpl_semi_sync_master_wait_sessions?????????|?0???????????| |?Rpl_semi_sync_master_yes_tx????????????????|?0???????????| |?Rpl_status?????????????????????????????????|?AUTH_MASTER?| +--------------------------------------------+-------------+ 15?rows?in?set?(0.00?sec)3、在從節(jié)點(diǎn)安裝半同步復(fù)制插件
INSTALL?PLUGIN?rpl_semi_sync_slave?SONAME?'semisync_slave'; SET?GLOBAL?rpl_semi_sync_slave_enabled=ON; SHOW?GLOBAL?VARIABLES?LIKE?'rpl_semisync%';???? SHOW?GLOBAL?VARIABLES?LIKE?'%rpl%';???????????//這時(shí)從的功能是開啟的SHOW?GLOBAL?STATUS?LIKE?'%rpl%';???//但狀態(tài)是OFF,因?yàn)閺墓?jié)點(diǎn)此時(shí)的IO線程未重啟STOP?SLAVE?IO_THREAD; START?SLAVE?IO_THREAD;??//重啟從的IO線程4、測(cè)試
此時(shí)在主節(jié)點(diǎn)查看clients的數(shù)量就會(huì)變成1了,因?yàn)橐呀?jīng)加入了一個(gè)從節(jié)點(diǎn);
在主節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)庫、表,都會(huì)同步到從節(jié)點(diǎn)上
SHOW?GLOBAL?STATUS?LIKE?'%rpl%';?? //此時(shí)顯示的信息就會(huì)有變化,主節(jié)點(diǎn)等待時(shí)長(zhǎng)、平均等待時(shí)長(zhǎng)、等待次數(shù)等信息,具體都可以從字面意思看出本實(shí)驗(yàn)到此結(jié)束
轉(zhuǎn)載于:https://blog.51cto.com/panpangao/1981515
總結(jié)
以上是生活随笔為你收集整理的MySQL数据库半同步复制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】Cvmat与IplImage的相互
- 下一篇: MySQL应用异常问题解决