日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL数据库半同步复制

發布時間:2025/7/14 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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数据库半同步复制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。