mysql高可用集群MGR組復制的介紹、部署及配置說明

前言

MGR全稱MySQL Group Replication(Mysql組復制),是MySQL官方于2016年12月推出的一個全新的高可用與高擴展的解決方案。MGR提供了高可用、高擴展、高可靠的MySQL集群服務。

高一致性:基于分布式paxos協議實現組復制,保證數據一致性;

高容錯性:自動檢測機制,只要不是大多數節點都宕機就可以繼續工作,內置防腦裂保護機制;

高擴展性:節點的增加與移除會自動更新組成員信息,新節點加入后,自動從其他節點同步增量數據,直到與其他節點數據一致;

靈活性:提供單主模式和多主模式,單主模式在主庫宕機后能夠自動選主,所有寫入都在主節點進行,多主模式支持多節點寫入;

MGR支持單主模式和多主模式:

單主模式:在單主模式下,只有一個節點可以可以讀寫,其他節點只能提供讀,如果讀寫節點down掉,會自主從新推選一個新的讀寫節點,其他節點繼續保持只讀。當主節點宕掉,自動會根據服務器的server_uuid變量和group_replication_member_weight變量值,選擇下一個slave誰作為主節點,group_replication_member_weight的值最高的成員被選為新的主節點,在group_replication_member_weight值相同的情況下,group根據數據字典中 server_uuid排序,排序在最前的被選擇為主節點。

多主模式:所有節點都支持讀寫,但是不支持多節點同時對一個表進行DDL vs DDL/DML,不支持SERIALIZABLE隔離級別,不支持多級關聯外鍵。

對不支持的項進行說明:

1.多主模式不支持多節點同時對一個表進行 DDL vs DDL/DML:

解釋:在 MGR 的多主模式下,如果多個節點同時對一個表進行 DDL(數據定義語言)操作或 DDL 與 DML(數據操作語言)操作混合執行,可能會導致數據不一致或集群故障。

舉例:假設有兩個節點 A 和 B,A 正在對表 t1 進行 ALTER TABLE 操作,而 B 同時也在對表 t1 進行 INSERT 操作。這種情況下,可能會導致數據不一致或集群故障。

2.多主模式不支持 SERIALIZABLE 隔離級別:

解釋:SERIALIZABLE 是 MySQL 中最嚴格的隔離級別,但在 MGR 的多主模式下可能不被支持。

舉例:如果你在 MGR 的多主模式下嘗試設置 SERIALIZABLE 隔離級別,可能會收到錯誤或警告信息,或者該設置可能不會被尊重。

3.多主模式不支持多級關聯外鍵:

解釋:外鍵是 MySQL 中用于維護數據之間引用完整性的一種機制。但在 MGR 的多主模式下,可能不支持多級關聯的外鍵。

舉例:假設你有三個表 A、B 和 C,其中 B 是 A 的子表(通過外鍵關聯),C 是 B 的子表(也通過外鍵關聯)。在 MGR 的多主模式下,這種多級關聯的外鍵可能不會被支持或行為可能與預期不同。

注意點:

1.MGR最大支持9個節點,超過將拒絕新節點加入。

2.官方建議節點數量為奇數個。

3.表必須有顯式主鍵,否則即使可以建表也無法插入數據

4.數據庫默認是utf8mb4

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/9943.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/9943.shtml
英文地址,請注明出處:http://en.pswp.cn/web/9943.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

霍金《時間簡史 A Brief History of Time》書后索引(A--D)

圖源:Wikipedia INDEX A Abacus Absolute position Absolute time Absolute zero Acceleration Age of the universe Air resistance Albrecht, Andreas Alpha Centauri Alpher, Ralph Anthropic principle Antigravity Antiparticles Aristotle Arrows of time …

基于Vant UI的微信小程序開發(隨時更新的寫手)

基于Vant UI的微信小程序開發? (一)懸浮浮動1、效果圖:只要無腦引用樣式就可以了2、頁面代碼3、js代碼4、樣式代碼 (二)底部跳轉1、效果圖:點擊我要發布跳轉到發布的頁面2、js代碼3、頁面代碼4、app.json代…

vue項目設置主題色

在vue開發過程中,很多頁面為了保持主題顏色統一,且方便后期管理,通常會設有主題色,通過主題色可以使得頁面上的按鈕單選框等控件保持顏色統一。 接下來介紹其中一種方法: 1.先建立一個js文件用于存放主題色&#xff…

我覺得POC應該貼近實際

今天我看到一位老師給我一份測試數據。 這是三個國產數據庫。算是分布式的。其中有兩個和我比較熟悉,但是這個數據看上去并不好。看上去第一個黃色的數據庫數據是這里最好的了。但是即使如此,我相信大部分做數據庫的人都知道。MySQL和PostgreSQL平時拿出…

Spark Streaming筆記總結(保姆級)

萬字長文警告!!! 目錄 一、離線計算與流式計算 1.1 離線計算 1.1.1 離線計算的特點 1.1.2 離線計算的應用場景 1.1.3 離線計算代表技術 1.2 流式計算 1.2.1 流式計算的特點 1.2.2 流式計算的應用場景 1.2.3 流式計算的代表技術 二…

最小生成樹刷題筆記

算法基礎: 首先是prim算法三部曲: (1)找到距離最小生成樹最近的節點。 (2)將距離最小生成樹最近的節點加入到最小生成樹中。 (3)更新非最小生成樹節點到最小生成樹的距離。 實現…

HTML批量文件上傳3—Servlet批量文件處理FileUpLoad

作者:私語茶館 1.開源的文件上傳組件介紹 本文使用的是Apache Commons下面的一個子項目FileUpload,另外一個常見組件是SmartUpload。FileUpload遵循RFC 1897,即“Form-based File Upload in HTML”,對于請求需要滿足:HTTP協議,Post請求,content Type=“multipart/form-d…

Kafka 面試題(五)

1. kafka的消費者是pull(拉)還是push(推)模式,這種模式有什么好處? Kafka的消費者是pull(拉)模式。在這種模式下,消費者主動從Kafka的broker中拉取數據來進行消費。 這種pull模式的好處主要體現在以下幾個方面&#…

人工智能是什么

人工智能是一個廣泛的領域,其中包括了機器學習和深度學習。 - 機器學習: 是人工智能的一個子領域,它關注的是讓計算機系統通過學習數據,從中獲取知識并做出預測或決策,而無需明確地編寫特定的規則。機器學習的方法包括…

kernel32.dll丟失要如何解決?電腦kernel32.dll文件下載方法

kernel32.dll丟失要怎么解決才好?其實針對這個問題還是有很多種的解決方法的,只要你明白了kernel32.dll的作用,了解kernel32.dll,那么就可以有很多種方法去解決,下面一起來看看吧。 一.了解kernel32.dll文件 kernel32…

6個超TM好用的神仙App推薦!

1. AI文本視頻生成工具——Jurilu Jurilu 是一款功能強大的 AI 文本視頻生成器,允許用戶快速將文本內容轉換成極具吸引力的視頻。它的使用非常簡單:只需要輸入文字,選擇想要的樣式和模板,Jurilu 就會自動將文字轉換成生動的視頻。…

Vue項目npm install certificate has expired報錯解決方法

1.Vue項目 npm install 安裝依賴突然報錯: npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/zrender/download/zrender-4.3.0.tgz failed, reason: certificate has expired npm ERR! A com…

代碼隨想錄-算法訓練營day35【貪心算法05:無重疊區間、劃分字母區間、合并區間】

代碼隨想錄-035期-算法訓練營【博客筆記匯總表】-CSDN博客 第八章 貪心算法 part05● 435. 無重疊區間 ● 763.劃分字母區間 ● 56. 合并區間 詳細布置 今天的三道題目,都算是 重疊區間 問題,大家可以好好感受一下。 都屬于那種看起來好復雜&#xff…

AI預測福彩3D+排3實戰化賺米驗證第6彈2024年5月10日第6次測試

由于最近幾天會比較忙,空閑時間較少,為了盡快的發布預測結果,今天繼續把3D和排3合并至一篇文章進行發布。好了,直接上結果吧~ 1.5月10日3D預測結果 百位:4、5、6、3、1、0 十位:4、2、5、7、…

一個可以同時使用USB和WIFI傳輸文件到電腦的軟件

雙軌快傳 結合USB2.0和WIFI6技術,通過1000Mbps網口實現每秒高達150MB的傳輸速率(理論上可達40MB/s通過USB和110MB/s通過WIFI)。 使用 模式 支持普通模式和Root模式,Root模式可訪問~/Android/data/與/data/data/目錄下的文件。 …

ETL-kettle數據轉換及組件使用詳解

目錄 一、txt文本轉換成excel 1、新建、轉換 2、構建流程圖 3、配置數據流圖中的各個組件 3.1、配置文件文本輸入組件 3.2、 配置Excel輸出組件 4、保存執行 二、excel轉換成mysql (1)在MySQL數據庫中創建數據庫,這個根據自身情況。我…

一文了解spring的aop知識

推薦工具 objectlog 對于重要的一些數據,我們需要記錄一條記錄的所有版本變化過程,做到持續追蹤,為后續問題追蹤提供思路。objectlog工具是一個記錄單個對象屬性變化的日志工具,工具采用spring切面和mybatis攔截器相關技術編寫了api依賴包&a…

機器學習實戰寶典:用scikit-learn打造智能應用

書接上文——《數據探險家的終極指南:用Python挖掘機器學習的奧秘》 前文我們在這段精彩的機器學習探險之旅中,從基礎概念出發,深入探索了使用Python和scikit-learn庫進行數據分析和模型構建的全過程。 我們首先了解了機器學習的基本原理&am…

Mysql 鎖

鎖 從鎖的性能有樂觀鎖和悲觀鎖;鎖的粒度有行鎖、頁鎖、表鎖;鎖的對數據庫操作類型有讀鎖、寫鎖、意向鎖 樂觀鎖:采用cas機制,不會阻塞數據庫操作,只會針對當前事務進行失敗重試。(用于寫操作不多的情況)悲觀鎖&…

[c++]多態的分析

多態詳細解讀 多態的概念多態的構成條件 接口繼承和實現繼承: 多態的原理:動態綁定和靜態綁定 多繼承中的虛函數表 多態的概念 -通俗的來說:當不同的對象去完成某同一行為時,會產生不同的狀態。 多態的構成條件 必須通過基類的指針或者引用調用虛函數1虛…