成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL半同步復制的搭建和配置原理

數據庫 MySQL
在MySQL5.7的半同步復制當中還移除了dump thread對binlog的互斥鎖, 解決了在高并發環境下串行讀取binlog的問題。

半同步復制:

什么是半同步復制?我們知道在默認情況下,MySQL的復制是異步的,這意味著主服務器及其從服務器是獨立的。異步復制可以提供***的性能,因為主服務器在將更新的數據寫入它的二進制日志(Binlog)文件中后,無需等待驗證更新數據是否已經復制到從服務器中,就可以自由處理其它進入的事務處理請求。但這也同時帶來了很高的風險,如果在主服務器或從服務器端發生故障,會造成主從數據的不一致,甚至在恢復時造成數據丟失。

半同步復制是從MySQL5.5開始引入了一種半同步復制功能,該功能可以確保主服務器和訪問鏈中至少一臺從服務器之間的數據一致性和冗余。在這種配置結構中,一臺主服務器和其許多從服務器都進行了配置,這樣在復制拓撲中,至少有一臺從服務器在父主服務器進行事務處理前,必須確認更新已經收到并寫入了其中繼日志(Relay Log)。當出現超時,源主服務器必須暫時切換到異步復制模式重新復制,直到至少有一臺設置為半同步復制模式的從服務器及時收到信息。

下面我們看一下怎么從普通復制轉化為半同步復制。假設我們已經搭建完成一主兩從的GTID復制環境:

  • MySQL1:172.16.16.35:3306
  • MySQL2:172.16.16.35:3307
  • MySQL3:172.16.16.34:3306

這個環境因為我之前測試MHA的時候已經是搭建好了,就不在強調怎么去搭建一個普通的GTID復制環境了,下面我們看一下怎么安裝

(1)安裝插件,三臺MySQL服務器都要執行:

  1. mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'
  2. mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'

我們可以通過以下語句查看是否安裝成功:

  1. mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%'
  2. +----------------------+---------------+ 
  3. | PLUGIN_NAME | PLUGIN_STATUS | 
  4. +----------------------+---------------+ 
  5. | rpl_semi_sync_master | ACTIVE | 
  6. | rpl_semi_sync_slave | ACTIVE | 
  7. +----------------------+---------------+ 
  8. rows in set (0.00 sec) 

在三臺MySQL的配置文件當中添加如下的參數:

rpl_semi_sync_master_enabled=1 #開啟半同步復制

rpl_semi_sync_slave_enabled=on; #打開半同步復制

然后重啟數據庫,不安裝semisync_master.so的話是不能識別這個參數的,所以說這個參數要等安裝完以后在重啟。

(2)重啟完成后,默認就是半同步復制了,開始看一下半同步相關的參數:

  1. mysql> show variables like 'rpl_se%'
  2. +-------------------------------------------+------------+ 
  3. | Variable_name | Value | 
  4. +-------------------------------------------+------------+ 
  5. | rpl_semi_sync_master_enabled | ON | 
  6. | rpl_semi_sync_master_timeout | 10000 | 
  7. | rpl_semi_sync_master_trace_level | 32 | 
  8. | rpl_semi_sync_master_wait_for_slave_count | 1 | 
  9. | rpl_semi_sync_master_wait_no_slave | ON | 
  10. | rpl_semi_sync_master_wait_point | AFTER_SYNC | 
  11. | rpl_semi_sync_slave_enabled | ON | 
  12. | rpl_semi_sync_slave_trace_level | 32 | 
  13. +-------------------------------------------+------------+ 
  14. rows in set (0.00 sec)  

下面我們看一下這些參數具體是有什么含義:

rpl_semi_sync_master_enabled :主庫是否打開半同步復制

rpl_semi_sync_master_timeout :毫秒為單位,當主庫等待從庫ACK的實踐超過這個值,就會自動轉化為異步復制

rpl_semi_sync_master_trace_level :master的trace 級別,分為四個(1,16,32,64),分別記錄不同的信息,32能夠輸出更詳細的網絡延遲等信息,也是默認值

rpl_semi_sync_master_wait_for_slave_count :至少有N個slave接收到日志,一主多從的情況下只要有一個slave的ACK返回給了主庫,就會進行commit

rpl_semi_sync_master_wait_no_slave:默認為ON,當半同步復制轉換為異步復制后,如果從庫的日志追趕上了主庫,會自動轉換為半同步復制,設置為OFF的話就不會再進行轉換。

rpl_semi_sync_slave_enabled :從庫是否打開半同步復制功能

rpl_semi_sync_slave_trace_level :trace 級別

rpl_semi_sync_master_wait_point :這是MySQL5.7新增的功能,可以設置兩個值AFTER_SYNC 和AFTER_COMMIT,AFTER_COMMIT的模式下master將每個事務寫入binlog ,傳遞到slave 刷新到磁盤(relay log),同時主庫提交事務。master等待slave 反饋收到relay log,只有收到ACK后master才將commit OK結果反饋給客戶端。AFTER_SYNC 情況下master 將每個事務寫入binlog , 傳遞到slave 刷新到磁盤(relay log)。master等待slave 反饋接收到relay log的ack之后,再提交事務并且返回commit OK結果給客戶端。 即使主庫crash,所有在主庫上已經提交的事務都能保證已經同步到slave的relay log中。我們推薦使用默認AFTER_SYNC 的情況,這樣可以提高性能,減少等待時間。

此外在MySQL5.7的半同步復制當中還移除了dump thread對binlog的互斥鎖, 解決了在高并發環境下串行讀取binlog的問題。

責任編輯:武曉燕 來源: Linux社區
相關推薦

2019-11-24 19:17:06

MySQL異步復制全同步復制

2009-12-17 08:54:31

MySQL 5.5半同步復制

2024-07-19 09:10:37

2010-04-28 11:19:04

Oracle高級復制

2020-12-22 10:11:13

MySQL數據庫復制原理

2011-09-16 10:09:32

SVN

2010-02-06 13:18:51

CentOS LAMP

2017-09-05 16:00:49

MySQL主從復制備份

2010-08-12 15:30:10

MySQL集群

2025-01-15 15:47:36

2024-07-04 08:00:24

2024-07-15 09:14:03

MySQL主從復制

2017-12-27 13:07:52

數據庫MySQL主從復制

2019-10-17 09:05:21

MySQL數據庫高可用

2010-10-20 14:27:09

SQL Server同

2021-01-12 09:03:17

MySQL復制半同步

2020-04-14 16:26:22

MySQL線程同步

2010-04-28 08:55:40

Oracle高級復制

2021-07-14 23:38:02

PostgreSQLOracle模式

2017-06-29 09:28:37

OracleMariaDB復制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产一区二区三区 | 国产精品高清一区二区三区 | 91久久久久久久久 | 最新国产精品视频 | 亚洲免费在线 | 青娱乐一区二区 | 中文字幕精品一区久久久久 | 青草福利| 狠狠操电影| 在线观看国产视频 | 欧美日韩综合视频 | 亚洲人在线播放 | 日韩成人精品视频 | 日韩成人av在线 | 在线免费观看毛片 | 亚洲91视频| 国产成人在线视频播放 | 国产精品区二区三区日本 | 久久精品国产a三级三级三级 | 亚洲精品日韩一区二区电影 | 999免费视频 | 久久久久久av | 久久久久九九九九 | 91视频网址 | 黄色免费在线观看网站 | 精品国产欧美一区二区三区成人 | 一区二区高清在线观看 | 在线播放一区 | 国产精品成人在线观看 | 久热国产在线 | 欧美高清视频 | 久久国产精品一区二区三区 | 精品国产一区二区三区成人影院 | 亚洲视频在线观看免费 | 91精品国产色综合久久 | 成人欧美一区二区三区黑人孕妇 | 五月婷婷色| 精品国产一区探花在线观看 | 日韩人体在线 | 成人免费看片 | www.色五月.com |