MySQL数据库半同步复制
生活随笔
收集整理的這篇文章主要介紹了
MySQL数据库半同步复制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
半同步復制,是有一個從節點或者一部分從節點與主節點之間是同步復制的,其他的從節點仍是異步復制
半同步復制是谷歌公司貢獻給MySQL的一個插件,默認在MySQL中沒有此插件,所以要實現主從的版同步復制需要安裝此插件
rpm?-ql?mariadb-server|?grep?semi #找到需要安裝的插件,以so結尾SHOW?PLUGINS; #查看當前支持的插件,此處也能看到myisam和innodb也是插件類型下面開始介紹如何配置主從版同步復制:
1、創建傳統的主從復制功能的mysql,請參考‘MySQL數據庫主從復制’一文(http://panpangao.blog.51cto.com/10624093/1981418? )
2、在主節點安裝半同步復制插件
INSTALL?PLUGIN?rpl_semi_sync_master?SONAME?'semisync_master';?//格式都是固定的不可隨意修改 SHOW?GLOBAL?VARIABLES?LIKE?'rpl_semi%';????//查看主節點的半同步復制功能,此時尚未開啟 SET?GLOBAL?rpl_semi_sync_master_enabled=ON;??//開啟SHOW?GLOBAL?STATUS?LIKE?'%rpl%';????????????//查看狀態,關鍵是查看?Rpl_semi_sync_master_clients數量,此時尚未配置從節點所以是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、在從節點安裝半同步復制插件
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%';???????????//這時從的功能是開啟的SHOW?GLOBAL?STATUS?LIKE?'%rpl%';???//但狀態是OFF,因為從節點此時的IO線程未重啟STOP?SLAVE?IO_THREAD; START?SLAVE?IO_THREAD;??//重啟從的IO線程4、測試
此時在主節點查看clients的數量就會變成1了,因為已經加入了一個從節點;
在主節點創建數據庫、表,都會同步到從節點上
SHOW?GLOBAL?STATUS?LIKE?'%rpl%';?? //此時顯示的信息就會有變化,主節點等待時長、平均等待時長、等待次數等信息,具體都可以從字面意思看出本實驗到此結束
轉載于:https://blog.51cto.com/panpangao/1981515
總結
以上是生活随笔為你收集整理的MySQL数据库半同步复制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】Cvmat与IplImage的相互
- 下一篇: 投影机常见故障