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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Mysql8 group replication组复制集群单主多主模式切换

發布時間:2024/9/27 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql8 group replication组复制集群单主多主模式切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? Mysql8 MGR集群操作圖解

聲明與簡介

本文的數據來自網絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯系博主及時處理。本文主要介紹mysql的MGR集群的操作。

MySQL Group Replication(MGR)是MySQL官方在5.7.17版本引進的一個數據庫高可用與高擴展的解決方案,以插件形式提供,實現了分布式下數據的最終一致性。其特點如下:

  • 高一致性:基于分布式paxos協議實現組復制,保證數據一致性;
  • 高容錯性:自動檢測機制,只要不是大多數節點都宕機就可以繼續工作,內置防腦裂保護機制;
  • 高擴展性:節點的增加與移除會自動更新組成員信息,新節點加入后,自動從其他節點同步增量數據,直到與其他節點數據一致;
  • 高靈活性:提供單主模式和多主模式,單主模式在主庫宕機后能夠自動選主,所有寫入都在主節點進行,多主模式支持多節點寫入

:1 當前MGR集群驗證環節在VVMware虛擬機內。

? ? ? ?2 當前虛擬機內mysql庫運行在Centos 8內,版本號是 8.0.23、端口號3306。

? ? ? ?3 當前驗證環境是3臺版本一致(一樣)的mysql數據庫的主機:192.168.111.128(host_128)是單主節點,host_129、host_130是從節點。

? ? ? ?4 在上述三組主機環境內搭建好單主模式的MGR集群,詳見鏈接:Mysql 8 group replication組復制集群單主配置圖解

MGR集群操作

單主主機切換

-- Step 1: 查看當前MGR集群狀態以及單主,這里是Host_128。 -- 命令可在集群內任意節點執行 SELECT * FROM performance_schema.replication_group_members;

-- Step 2: 指定Host_130為單主,這里server_uuid對應Step1里對應主機查到的MEMBER_ID。 SELECT group_replication_set_as_primary('3785ac24-b078-11eb-a14a-000c2937f3b0');

-- Step 3:查看當前MGR集群狀態以及單主,這里已經切換到Host_130 SELECT * FROM performance_schema.replication_group_members;

-- Step 5 執行insert驗證單主讀寫 -- Host_128里執行insert語句,tab_test有id和memo兩個字段,如果沒有該表,可自行創建。 insert into tab_test values(2,'Not a single Primary now');

-- Step 6 執行insert驗證單主讀寫 -- Host_130里執行insert語句,tab_test有id和memo兩個字段,如果沒有該表,可自行創建。 insert into tab_test values(2,'Not a single Primary now');

單主切換多主

-- Step 1:單主節點上執行多主模式切換 SELECT group_replication_switch_to_multi_primary_mode()

-- Step2 :查看當前MGR集群狀態以及單主,這里已經切換到Host_130,此時三臺主機的MEMBER_ROLE都是PRIMARY。 SELECT * FROM performance_schema.replication_group_members;

-- Step 3: 驗證下Host_128是否可插入數據。此時可正常插入。同理Host_129、Host_130 insert into tab_test values(3,'I''m in primary role again'); select @@hostname,A.* from tab_test A;

多主切換單主

類似單主切換多主,這里使用單主到多主的切換命令。這次我們選擇主機host_129,它的Member_ID是7edd8b92-b077-11eb-8ffe-000c2936760d。命令可在任意節點上執行,當前執行于host_128。

-- Step1:單主切換多主 SELECT group_replication_switch_to_single_primary_mode(‘7edd8b92-b077-11eb-8ffe-000c2936760d’);

-- Step 2:查看當前MGR集群狀態以及單主,這里已經切換到Host_129 SELECT * FROM performance_schema.replication_group_members;

從節點停止復制

-- 在單主節點host_129上停止復制,這里發現其MEMBER_STATUS為OFFLINE -- Step 1:停止復制 STOP GROUP_REPLICATION;

-- Step 2:查看當前MGR集群狀態,此時Host_128被選舉為Primary,而Host_130為SECONDARY。 SELECT * FROM performance_schema.replication_group_members;

??問題

-- Issue1: 從節點執行單主切換多主命令報錯,需要在單主節點執行。 SELECT group_replication_switch_to_multi_primary_mode()

總結

以上是生活随笔為你收集整理的Mysql8 group replication组复制集群单主多主模式切换的全部內容,希望文章能夠幫你解決所遇到的問題。

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