中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql主從同步機制原理

發布時間:2021-08-20 23:20:39 來源:億速云 閱讀:138 作者:chen 欄目:MySQL數據庫

本篇內容主要講解“mysql主從同步機制原理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql主從同步機制原理”吧!

1、binlog+pos同步(默認為異步)

服務器通過IO進程讀取主庫的binlog,寫入到relay_log中,

從服務器通過sql running進程讀取從庫的relay_log,并寫入到從庫的bin_Log實現同步

我們生產一般使用row模式,因為有些函數在使用mix和state模式可能會報錯。

2、半同步(5.5開始)

半同步就是就是用戶向mysql寫入數據,先寫入到主庫,然后生成binlog日志。主庫等待從庫來取binlog日志,如果從庫超過10秒沒有來獲取binlog日志。主庫自動轉換為異步,以后用戶寫入數據生成binlog日志,等待用戶自己來取,沒有取到主庫也不在管理。

介于異步復制和全同步復制之間,主庫在執行完客戶端提交的事務后不是立刻返回給客戶端,而是等待至少一個從庫接收到并寫到relay log中才返回給客戶端。相對于異步復制,半同步復制提高了數據的安全性,同時它也造成了一定程度的延遲,這個延遲最少是一個TCP/IP往返的時間。所以,半同步復制最好在低延時的網絡中使用。

在沒有指明的情況下,默認都是異步復制。

3、GTID同步(5.6.10開始)

使用UUID+事務ID作為全局事物標識,UUID為每臺機器的標識符,事務ID記錄最新的事務,不在使用binlog+pos開啟復制。而是使用master_auto_postion=1的方式自動匹配GTID斷點進行復制。

4、group replication(5.7.17開始)

基于傳統異步復制和半同步復制的缺陷——數據的一致性問題無法保證,MySQL官方在5.7.17版本正式推出組復制,也就是MGR。

由若干個節點共同組成一個復制組,一個事務的提交,必須經過組內大多數節點(N / 2 + 1)決議并通過,才能得以提交。由3個節點組成一個復制組,Consensus層為一致性協議層,在事務提交過程中,發生組間通訊,由2個節點決議(certify)通過這個事務,事務才能夠最終得以提交并響應。

半同步的開啟方法和前提條件:

要想使用半同步復制,必須滿足以下幾個條件:

1. MySQL 5.5及以上版本

2. 變量have_dynamic_loading為YES

3. 異步復制已經存在

1、首先加載插件,主從分別安裝插件

INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

2、查看插件是否安裝成功。

1、show plugins;

rpl_semi_sync_master       | ACTIVE   | REPLICATION        | semisync_master.so | GPL 

2、mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS  WHERE PLUGIN_NAME LIKE '%semi%';

+----------------------+---------------+
| PLUGIN_NAME          | PLUGIN_STATUS |
+----------------------+---------------+
| rpl_semi_sync_master | ACTIVE        |
+----------------------+---------------+
1 row in set (0.00 sec)

3、啟動半同步復制(也可以寫在配置文件中)

SET GLOBAL rpl_semi_sync_master_enabled = 1;

SET GLOBAL rpl_semi_sync_slave_enabled = 1;

4、重啟從上的IO線程

mysql> STOP SLAVE IO_THREAD;

mysql> START SLAVE IO_THREAD;

5、檢查半同步是否正確運行

mysql> show status like 'Rpl_semi_sync_master_status';

mysql> show status like 'Rpl_semi_sync_slave_status';

均顯示為ON則正常啟動。

到此,相信大家對“mysql主從同步機制原理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵台县| 寿阳县| 额尔古纳市| 威海市| 崇信县| 班戈县| 枝江市| 烟台市| 龙岩市| 通州区| 本溪| 留坝县| 会东县| 孝昌县| 遂昌县| 巴楚县| 渝北区| 固原市| 柳林县| 长宁县| 东海县| 汉寿县| 吉隆县| 财经| 溧阳市| 砀山县| 连城县| 资源县| 汝南县| 民权县| 广丰县| 汕头市| 余姚市| 汾阳市| 玉溪市| 大英县| 宜阳县| 牙克石市| 广宗县| 武功县| 济源市|