国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

mysql 半等步復(fù)制

2024-07-24 12:32:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
       mysql 半同步復(fù)制:

一.半同步復(fù)制
     半同步復(fù)制特點(diǎn)
1. 與傳統(tǒng)的異步復(fù)制相比,半同步復(fù)制在多個(gè)Slave節(jié)點(diǎn)中會(huì)選取一個(gè)節(jié)點(diǎn)進(jìn)行半同步復(fù)制。也就是說(shuō),當(dāng)Master提交一個(gè)事務(wù)的時(shí)候,在這個(gè)半同步復(fù)制的Slave端返回一個(gè)同步完成的Ack包之后,服務(wù)器才會(huì)向用戶(hù)返回事務(wù)提交成功,而其他的節(jié)點(diǎn)則是采用傳統(tǒng)的異步復(fù)制方式進(jìn)行同步。
2. 半同步是復(fù)制是基于異步復(fù)制之上進(jìn)行的,也就是說(shuō)配置半同步復(fù)制之前需要先配置到異步復(fù)制。
3. 半同步復(fù)制可以保證在主節(jié)點(diǎn)發(fā)生故障的時(shí)候,總有一個(gè)節(jié)點(diǎn)的數(shù)據(jù)與主節(jié)點(diǎn)一樣。這樣在進(jìn)行切換的時(shí)候,可以更加快速地把這個(gè)Slave節(jié)點(diǎn)設(shè)置成主節(jié)點(diǎn)來(lái)使用。
 
       半同步復(fù)制性能
- 半同步復(fù)制比異步復(fù)制性能低1/3
- 模式after_sync 比 after_commit性能要高
 
二.半同步復(fù)制安裝條件
     1.必須是MySQL5.5或者以上
      2.MySQL必須有自動(dòng)加載功能,即have_dynamic_loading變量為YES
mysql> show variables like 'have_dynamic_loading';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| have_dynamic_loading | YES   |
+----------------------+-------+
3.主從復(fù)制已經(jīng)配置好(異步復(fù)制)
 
三.配置
1.設(shè)置半同步模式(主庫(kù),5.7為默認(rèn)值)
SET rpl_semi_sync_master_wait_point= AFTER_SYNC;
 
2.加載插件
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';(主庫(kù))
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';(從庫(kù))
 
show plugins;(確認(rèn)查看)
 
3.啟動(dòng)半同步復(fù)制
主庫(kù)
SET GLOBAL rpl_semi_sync_master_enabled = 1;
從庫(kù)
SET GLOBAL rpl_semi_sync_slave_enabled = 1;
以上的啟動(dòng)方式是在命令行操作,也可寫(xiě)在配置文件中。
plugin_dir=/usr/local/mysql/lib/plugin
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
loose_rpl_semi_sync_master_enabled = 1
loose_rpl_semi_sync_slave_enabled = 1
loose_rpl_semi_sync_master_timeout = 5000
rpl_semi_sync_master_wait_point = AFTER_SYNC or AFTER_COMMIT
rpl_semi_sync_master_wait_for_slave_count = 1
 
重啟從服務(wù)器IO線(xiàn)程,手動(dòng)將異步模式切換為半同步模式。重啟后,slave會(huì)在master上注冊(cè)為半同步復(fù)制的slave角色。
STOP SLAVE IO_THREAD;
START SLAVE IO_THREAD;
 
4.確認(rèn)半同步復(fù)制運(yùn)行狀態(tài)
主庫(kù)
mysql> show status like 'Rpl_semi_sync_master_status';
+-----------------------------+-------+
| Variable_name               | Value |
+-----------------------------+-------+
| Rpl_semi_sync_master_status | ON    |
+-----------------------------+-------+
從庫(kù)
mysql> show status like 'Rpl_semi_sync_slave_status';
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| Rpl_semi_sync_slave_status | ON    |
+----------------------------+-------+
 
5.半同步復(fù)制相關(guān)參數(shù)
主庫(kù)
Rpl_semi_sync_master_status:指示主服務(wù)器使用的是異步復(fù)制模式,還是半同步復(fù)制模式。
Rpl_semi_sync_master_clients:顯示有多少個(gè)從服務(wù)器配置成了半同步復(fù)制模式。
Rpl_semi_sync_master_yes_tx:顯示從服務(wù)器確認(rèn)的成功提交數(shù)量。
Rpl_semi_sync_master_no_tx:顯示從服務(wù)器確認(rèn)的不成功提交數(shù)量。
Rpl_semi_sync_master_timeout=1000默認(rèn)1000毫秒,即10秒超時(shí),將切換為異步復(fù)制
從庫(kù)
Rpl_semi_sync_slave_status表示從服務(wù)器開(kāi)啟半同步復(fù)制
 
6.測(cè)試
模擬半同步復(fù)制slave server宕機(jī)
- 關(guān)閉半同步slave server
- 關(guān)閉后主庫(kù)進(jìn)行查看未發(fā)生變化
mysql> show status like '%semi%';
+--------------------------------------------+-------+
| Variable_name                              | Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients               | 1     |
| Rpl_semi_sync_master_net_avg_wait_time     | 0     |
| Rpl_semi_sync_master_net_wait_time         | 0     |
| Rpl_semi_sync_master_net_waits             | 2     |
| 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      | 5754  |
| Rpl_semi_sync_master_tx_wait_time          | 11509 |
| Rpl_semi_sync_master_tx_waits              | 2     |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0     |
| Rpl_semi_sync_master_wait_sessions         | 0     |
| Rpl_semi_sync_master_yes_tx                | 2     |
+--------------------------------------------+-------+
- 主庫(kù)執(zhí)行事務(wù),等待10秒
mysql> delete from wwj.t3 where idt3=2;
Query OK, 1 row affected (10.03 sec)
- 再次查看
mysql> show status like '%semi%';
+--------------------------------------------+-------+
| Variable_name                              | Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients               | 1     |
| Rpl_semi_sync_master_net_avg_wait_time     | 0     |
| Rpl_semi_sync_master_net_wait_time         | 0     |
| Rpl_semi_sync_master_net_waits             | 3     |
| Rpl_semi_sync_master_no_times              | 1     |
| Rpl_semi_sync_master_no_tx                 | 1     |
| Rpl_semi_sync_master_status                | OFF   |
| Rpl_semi_sync_master_timefunc_failures     | 0     |
| Rpl_semi_sync_master_tx_avg_wait_time      | 5754  |
| Rpl_semi_sync_master_tx_wait_time          | 11509 |
| Rpl_semi_sync_master_tx_waits              | 2     |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0     |
| Rpl_semi_sync_master_wait_sessions         | 0     |
| Rpl_semi_sync_master_yes_tx                | 2     |
+--------------------------------------------+-------+
- 重新開(kāi)啟semi slave,半同步重新開(kāi)啟。

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肇庆市| 锦州市| 常州市| 宜州市| 上杭县| 永定县| 凤台县| 通州市| 桂阳县| 慈溪市| 北碚区| 襄垣县| 东乌珠穆沁旗| 浦江县| 彭州市| 平利县| 同仁县| 于田县| 新余市| 鄂尔多斯市| 洛南县| 靖江市| 苏尼特左旗| 昌图县| 郁南县| 盘锦市| 神农架林区| 井研县| 长泰县| 双辽市| 石家庄市| 合阳县| 固原市| 巍山| 鹤岗市| 阜新市| 饶河县| 清水河县| 沁源县| 拉萨市| 鲁山县|