最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL mgr搭建的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年11月16日 11:11:13   作者:皮皮 Y  
本文主要介紹了MySQL的主從復(fù)制技術(shù)架構(gòu),包括傳統(tǒng)主從復(fù)制和半同步復(fù)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 傳統(tǒng)主從復(fù)制技術(shù)架構(gòu)

傳統(tǒng)主從復(fù)制的方式是在master節(jié)點(diǎn)上執(zhí)行數(shù)據(jù)更新事務(wù),而后記錄這些事務(wù)到binlog中,再將binlog發(fā)送到slave節(jié)點(diǎn)轉(zhuǎn)儲(chǔ)成relay log,在slave節(jié)點(diǎn)上再有單獨(dú)的線程讀取這些relay log然后重新執(zhí)行或應(yīng)用這些事務(wù),它是shared-nothing的,每個(gè)節(jié)點(diǎn)都有一份完整的數(shù)據(jù)副本,其技術(shù)流程圖如下所示:

  • 傳統(tǒng)主從復(fù)制技術(shù)架構(gòu)圖

MySQL還提供了半同步復(fù)制,這是在傳統(tǒng)主從復(fù)制的基礎(chǔ)上增加了一個(gè)同步的步驟,master節(jié)點(diǎn)上提交事務(wù)前,要先等到slave節(jié)點(diǎn)確認(rèn)收到事務(wù)信息才可以(所以前文才說當(dāng)slave節(jié)點(diǎn)響應(yīng)慢時(shí)會(huì)影響master節(jié)點(diǎn)的事務(wù)提交),其技術(shù)流程圖如下所示:

  • 半同步復(fù)制技術(shù)架構(gòu)圖

2. MGR組復(fù)制技術(shù)架構(gòu)

MGR也是shared-nothing的,每個(gè)節(jié)點(diǎn)都有一份完整的數(shù)據(jù)副本,MGR可以做到在任何節(jié)點(diǎn)、任何時(shí)間都能執(zhí)行讀寫事務(wù)(不含只讀事務(wù)),不過讀寫事務(wù)要被整個(gè)復(fù)制組確認(rèn)后才能提交。如果是只讀事務(wù)則沒有這個(gè)限制,任何節(jié)點(diǎn)都可以發(fā)起及提交。

當(dāng)讀寫事務(wù)準(zhǔn)備提交前,它會(huì)向復(fù)制組發(fā)出一個(gè)原子廣播,內(nèi)容包括:該事務(wù)修改的數(shù)據(jù),及其所對(duì)應(yīng)的writeset(例如,一個(gè)執(zhí)行 UPDATE user SET age=25 WHERE id=1 的事務(wù),其 WriteSet 可能記錄為:{ "database": "test", "table": "user", "primary_key": "id=1" })。復(fù)制組中所有節(jié)點(diǎn)要么接收該事務(wù),要么都不接收。如果組中所有節(jié)點(diǎn)都接收該事務(wù)消息,那么它們都會(huì)按照與之前發(fā)送事務(wù)的相同順序收到該廣播消息。因此,所有組成員都以相同的順序接收事務(wù)的寫集,并為事務(wù)建立全局順序。

在多個(gè)節(jié)點(diǎn)上并行執(zhí)行的事務(wù)是可能產(chǎn)生沖突的,這時(shí)候就需要對(duì)比判斷兩個(gè)并行事務(wù)的writeset來確認(rèn),這個(gè)過程稱為事務(wù)認(rèn)證,也叫做沖突檢測(cè)。事務(wù)沖突檢測(cè)是行級(jí)別的,也就是說兩個(gè)并行的事務(wù)更新同一行時(shí),則視為產(chǎn)生沖突。這時(shí)的做法是全局順序在前面的事務(wù)可以成功,所有節(jié)點(diǎn)都提交該事務(wù)。而全局順序在后面的事務(wù)會(huì)失敗回滾,各節(jié)點(diǎn)會(huì)刪除該事務(wù)。這實(shí)際上是個(gè)分布式的誰先提交誰先贏得事務(wù)的規(guī)則。建議:如果經(jīng)常發(fā)生節(jié)點(diǎn)間的事務(wù)沖突,那最好將這些事務(wù)放在同一個(gè)節(jié)點(diǎn)上執(zhí)行,這樣它們?cè)诒镜厥聞?wù)并發(fā)控制協(xié)調(diào)下可能都可以提交成功,而不至于由于MGR的沖突檢測(cè)而導(dǎo)致某個(gè)事務(wù)總是被回滾。

對(duì)于正在應(yīng)用或外化的事務(wù),MGR允許它們不一定按照原有順序執(zhí)行,只要不破壞事務(wù)的一致性和有效性即可。MGR默認(rèn)要求是最終一致性,也就是說當(dāng)所有事務(wù)都應(yīng)用完畢后,所有節(jié)點(diǎn)的數(shù)據(jù)是一致的。當(dāng)流量巨大時(shí),事務(wù)可能會(huì)被外化而導(dǎo)致順序輕微不一致。例如在多主模式下,一個(gè)本地事務(wù)在通過認(rèn)證后會(huì)被立即外化,盡管此時(shí)可能還有個(gè)有這更早全局順序的遠(yuǎn)程事務(wù)還沒被應(yīng)用,只要MGR的認(rèn)證線程認(rèn)為這個(gè)事務(wù)不會(huì)產(chǎn)生沖突即可。在單主模式下,在Primary節(jié)點(diǎn)上的本地并發(fā)事務(wù),在不產(chǎn)生沖突的情況下,其提交和外化的順序可能和該事物的全局事務(wù)順序有輕微不一致。在Secondary節(jié)點(diǎn)上,由于沒有寫事務(wù),因此它們的事務(wù)順序和全局事務(wù)順序是一致的。

下圖描述了MGR的組復(fù)制協(xié)議,可以看到和傳統(tǒng)主從復(fù)制(及半同步復(fù)制)的一些差異。為了簡(jiǎn)單起見,圖中少了共識(shí)算法和Paxos相關(guān)的信息:

  • MGR技術(shù)架構(gòu)圖

Paxos 協(xié)議

在 MySQL Group Replication(MGR)中,共識(shí)算法基于 Paxos 協(xié)議,主要用于確保集群中各節(jié)點(diǎn)在事務(wù)提交等操作上達(dá)成一致,其工作過程如下:

事務(wù)提議與廣播

  • 當(dāng)一個(gè)節(jié)點(diǎn)上有事務(wù)要執(zhí)行時(shí),該事務(wù)在本地執(zhí)行后,節(jié)點(diǎn)會(huì)將事務(wù)信息,如 WriteSet 等,通過 Paxos 模塊廣播給 MGR 集群中的各個(gè)節(jié)點(diǎn),包括其自身。這個(gè)過程類似于 Paxos 協(xié)議中的提議階段,每個(gè)節(jié)點(diǎn)都可以提出事務(wù)提議。

沖突檢測(cè)與解決

  • 各個(gè)節(jié)點(diǎn)在接收到事務(wù)信息后,會(huì)各自進(jìn)行沖突檢測(cè)。如果多個(gè)事務(wù)修改了同一行數(shù)據(jù),MGR 會(huì)采用 “先提交者獲勝” 的策略,后提交的事務(wù)將被回滾。在多主模式下,節(jié)點(diǎn)會(huì)根據(jù)版本號(hào),如 trx_id 或行級(jí)時(shí)間戳等,判斷最新版本,拒絕舊版本的事務(wù)。如果是單主模式,當(dāng)主節(jié)點(diǎn)在應(yīng)用來自前一個(gè)主節(jié)點(diǎn)的中繼日志時(shí),不進(jìn)行沖突檢測(cè),其他情況則需要進(jìn)行沖突檢測(cè)。
  • 具體處理流程(3 節(jié)點(diǎn)場(chǎng)景)

    假設(shè)集群節(jié)點(diǎn)為 A、B、C,事務(wù) T 在節(jié)點(diǎn) A 發(fā)起:

  • 事務(wù)執(zhí)行與廣播:節(jié)點(diǎn) A 執(zhí)行 T 并生成 WriteSet,廣播給 B 和 C。

  • 多數(shù)派初步確認(rèn):節(jié)點(diǎn) A 和 B 檢測(cè)到 T 的 WriteSet 與本地歷史無沖突,返回 “確認(rèn)”(已滿足多數(shù)派 2/3)。

  • 第 3 節(jié)點(diǎn)檢測(cè)到?jīng)_突:節(jié)點(diǎn) C 發(fā)現(xiàn) T 的 WriteSet 與本地已提交的事務(wù) T’ 沖突(例如 T 和 T’ 都修改了 user.id=1),返回 “沖突”。

  • 全集群事務(wù)回滾:
    • 節(jié)點(diǎn) A 收到 C 的 “沖突” 反饋后,判定 T 為沖突事務(wù),立即在本地回滾 T。
    • 同時(shí)向 B 和 C 廣播 “事務(wù) T 沖突,需回滾” 的指令。
    • 節(jié)點(diǎn) B 即使已初步確認(rèn)無沖突,也會(huì)執(zhí)行回滾(放棄 T 的執(zhí)行)。
    • 最終,A、B、C 均不保留 T 的修改,集群數(shù)據(jù)保持一致。

多數(shù)派確認(rèn)

  • Paxos 協(xié)議的核心是 “多數(shù)派確認(rèn)” 機(jī)制。在 MGR 中,僅當(dāng)多數(shù)節(jié)點(diǎn),即超過半數(shù)的節(jié)點(diǎn)確認(rèn)接收并接受該寫集合后,事務(wù)才會(huì)最終提交。例如,在一個(gè) 3 節(jié)點(diǎn)的集群中,至少需要 2 個(gè)節(jié)點(diǎn)確認(rèn)后事務(wù)才能提交。這確保了只有被多數(shù)節(jié)點(diǎn)認(rèn)可的寫操作才會(huì)被最終執(zhí)行,從而避免了數(shù)據(jù)丟失。

狀態(tài)同步與主節(jié)點(diǎn)選舉

  • 當(dāng)新的事務(wù)提交或者主節(jié)點(diǎn)發(fā)生變化時(shí),節(jié)點(diǎn)之間需要進(jìn)行狀態(tài)同步。例如,當(dāng)主節(jié)點(diǎn)不可用時(shí),剩余節(jié)點(diǎn)會(huì)通過 Paxos 協(xié)議選舉新的主節(jié)點(diǎn)。選舉過程中,需滿足 “多數(shù)存活” 條件,如 3 節(jié)點(diǎn)集群中至少 2 節(jié)點(diǎn)存活。新主節(jié)點(diǎn)會(huì)同步已提交的全局事務(wù),確保數(shù)據(jù)完整性后再對(duì)外提供服務(wù)。

原子廣播

  • MGR 基于 Paxos 的原子廣播特性,確保所有節(jié)點(diǎn)要么全部接收消息,要么全部不接收。這意味著在事務(wù)廣播過程中,不會(huì)出現(xiàn)部分節(jié)點(diǎn)接收到消息并執(zhí)行,而另一部分節(jié)點(diǎn)未接收到消息的情況,從而避免了數(shù)據(jù)不一致。

3.mgr搭建

角色IP
192.168.160.205
192.168.160.203
192.168.160.206

安裝mysql(三個(gè))

創(chuàng)建數(shù)據(jù)庫(kù)目錄

mkdir -p /data/mysql/mysqldata/mysql3306/{data,logs,binlog,relaylog,sock,backup,tmp}
mkdir -p /data/mysql/mysqlbase
touch /data/mysql/mysqldata/mysql3306/logs/error.log

解壓安裝包

tar -xvf mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz -C /data/mysql/mysqlbase/
cd /data/mysql/mysqlbase/
mv mysql-8.0.43-linux-glibc2.17-x86_64/ mysql3306

添加配置文件

cd /data/mysql/mysqldata/mysql3306/
vim my8.cnf

[mysql]
default-character-set=utf8mb4
[mysqld]
port=3306
character-set-server=utf8mb4
default-storage-engine=INNODB
general_log= on
max_connections=100
interactive_timeout = 120
wait_timeout = 120

###dir
basedir=/data/mysql/mysqlbase/mysql3306
datadir=/data/mysql/mysqldata/mysql3306/data
pid-file=/data/mysql/mysqldata/mysql3306/sock/mysqld.pid
socket = /data/mysql/mysqldata/mysql3306/sock/mysql.sock
tmpdir=/data/mysql/mysqldata/mysql3306/tmp
log-error=/data/mysql/mysqldata/mysql3306/logs/error.log

###slow sql
slow_query_log = ON
slow_query_log_file = /data/mysql/mysqldata/mysql3306/logs/slow.log
long_query_time = 0.5

###safe
#skip-grant-tables
skip-name-resolve

###memory size
binlog_cache_size = 4096
max_binlog_cache_size = 256m
table_open_cache=2000
tmp_table_size=256m
key_buffer_size=256M
read_buffer_size=4M
read_rnd_buffer_size=32M
innodb_log_buffer_size=32M
innodb_buffer_pool_size=512M
join_buffer_size=128M
sort_buffer_size=32M
bulk_insert_buffer_size = 64M

###file size
max_binlog_size = 50m
innodb_log_file_size=128M

###replication
server-id=1
log_bin=ON
binlog_expire_logs_seconds = 2592000
binlog_format=ROW
gtid_mode=on
enforce_gtid_consistency=on
log-slave-updates=1
skip_slave_start=0
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_bin=/data/mysql/mysqldata/mysql3306/binlog/mysql-bin
log_bin_index=/data/mysql/mysqldata/mysql3306/binlog/mysql-bin.index
relay-log-index = /data/mysql/mysqldata/mysql3306/relaylog/mysql-relay-bin.index
relay-log = /data/mysql/mysqldata/mysql3306/relaylog/mysql-relay-bin

修改用戶權(quán)限

useradd mysql
chown -R mysql:mysql /data/mysql/mysqldata/
chown -R mysql:mysql /data/mysql/mysqlbase/
chmod 755 /data/mysql/mysqlbase/
chmod 755 /data/mysql/mysqldata/

啟動(dòng)數(shù)據(jù)庫(kù)

/data/mysql/mysqlbase/mysql3306/bin/mysqld --defaults-file=/data/mysql/mysqldata/mysql3306/my8.cnf --datadir=/data/mysql/mysqldata/mysql3306/data --user=mysql  --initialize-insecure --console
/data/mysql/mysqlbase/mysql3306/bin/mysqld_safe --defaults-file=/data/mysql/mysqldata/mysql3306/my8.cnf 2>&1 &

登錄數(shù)據(jù)庫(kù)修改密碼

/data/mysql/mysqlbase/mysql3306/bin/mysql -S /data/mysql/mysqldata/mysql3306/sock/mysql.sock -A
SET SQL_LOG_BIN=0;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
update mysql.user set host='%' where user='root';
flush privileges;
SET SQL_LOG_BIN=1;
exit;
/data/mysql/mysqlbase/mysql3306/bin/mysql -uroot -proot -S /data/mysql/mysqldata/mysql3306/sock/mysql.sock -A

mgr配置

創(chuàng)建mgr用戶(三個(gè))

SET SQL_LOG_BIN=0;
CREATE USER mgruser@'%' IDENTIFIED BY 'mgruser';
GRANT REPLICATION SLAVE ON *.* TO mgruser@'%';
#MySQL8.0默認(rèn)認(rèn)證插件為 caching_sha2_password,需要ssl,在啟動(dòng)mgr的時(shí)候沒有ssl會(huì)報(bào)錯(cuò),修改為mysql_native_password 避免
ALTER USER 'mgruser'@'%' IDENTIFIED WITH mysql_native_password BY 'mgruser';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='mgruser', MASTER_PASSWORD='mgruser' FOR CHANNEL 'group_replication_recovery';

安裝mgr插件(三個(gè))

install PLUGIN group_replication SONAME 'group_replication.so';
show plugins;

添加配置文件

主節(jié)點(diǎn)

vim /data/mysql/mysqldata/mysql3306/my8.cnf
#修改server_id,每個(gè)節(jié)點(diǎn)必須不一樣
server-id=1
###mgr
# 8.0 默認(rèn)值XXHASH64,針對(duì)寫事務(wù)進(jìn)行哈希處理
transaction_write_set_extraction=XXHASH64
# 啟動(dòng)加載組復(fù)制插件
#plugin_load_add='group_replication.so'
# 集群唯一ID
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
# 是否啟動(dòng)MySQL服務(wù)時(shí)啟動(dòng)組復(fù)制,建議值:off
group_replication_start_on_boot=off
# 本地IP后面端口33061可自定義,集群通信端口,建議統(tǒng)一端口
group_replication_local_address= "192.168.160.205:33061"
# 初始化集群成員列表,可動(dòng)態(tài)修改
group_replication_group_seeds= "192.168.160.205:33061,192.168.160.203:33061,192.168.160.206:33061"
# 判斷是否為引導(dǎo)組
group_replication_bootstrap_group=off
group_replication_single_primary_mode = ON  # 單主模式(默認(rèn),可選多主模式 OFF)
# 設(shè)置白名單,這里特別注意,如果是同網(wǎng)段可以不用設(shè)置,如果是不同網(wǎng)段則需要修改否則通信端口不可訪問
loose-group_replication_ip_whitelist='192.168.160.205,192.168.160.203,192.168.160.206'

節(jié)點(diǎn)2

vim /data/mysql/mysqldata/mysql3306/my8.cnf
#修改server_id,每個(gè)節(jié)點(diǎn)必須不一樣
server-id=2
###mgr
# 8.0 默認(rèn)值XXHASH64,針對(duì)寫事務(wù)進(jìn)行哈希處理
transaction_write_set_extraction=XXHASH64
# 啟動(dòng)加載組復(fù)制插件
#plugin_load_add='group_replication.so'
# 集群唯一ID
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
# 是否啟動(dòng)MySQL服務(wù)時(shí)啟動(dòng)組復(fù)制,建議值:off
group_replication_start_on_boot=off
# 本地IP后面端口33061可自定義,集群通信端口,建議統(tǒng)一端口
group_replication_local_address= "192.168.160.203:33061"
# 初始化集群成員列表,可動(dòng)態(tài)修改
group_replication_group_seeds= "192.168.160.205:33061,192.168.160.203:33061,192.168.160.206:33061"
# 判斷是否為引導(dǎo)組
group_replication_bootstrap_group=off
group_replication_single_primary_mode = ON  # 單主模式(默認(rèn),可選多主模式 OFF)
# 設(shè)置白名單,這里特別注意,如果是同網(wǎng)段可以不用設(shè)置,如果是不同網(wǎng)段則需要修改否則通信端口不可訪問
loose-group_replication_ip_whitelist='192.168.160.205,192.168.160.203,192.168.160.206'

節(jié)點(diǎn)3

vim /data/mysql/mysqldata/mysql3306/my8.cnf
#修改server_id,每個(gè)節(jié)點(diǎn)必須不一樣
server-id=3
###mgr
# 8.0 默認(rèn)值XXHASH64,針對(duì)寫事務(wù)進(jìn)行哈希處理
transaction_write_set_extraction=XXHASH64
# 啟動(dòng)加載組復(fù)制插件
#plugin_load_add='group_replication.so'
# 集群唯一ID
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
# 是否啟動(dòng)MySQL服務(wù)時(shí)啟動(dòng)組復(fù)制,建議值:off
group_replication_start_on_boot=off
# 本地IP后面端口33061可自定義,集群通信端口,建議統(tǒng)一端口
group_replication_local_address= "192.168.160.206:33061"
# 初始化集群成員列表,可動(dòng)態(tài)修改
group_replication_group_seeds= "192.168.160.205:33061,192.168.160.203:33061,192.168.160.206:33061"
# 判斷是否為引導(dǎo)組
group_replication_bootstrap_group=off
group_replication_single_primary_mode = ON  # 單主模式(默認(rèn),可選多主模式 OFF)
# 設(shè)置白名單,這里特別注意,如果是同網(wǎng)段可以不用設(shè)置,如果是不同網(wǎng)段則需要修改否則通信端口不可訪問
loose-group_replication_ip_whitelist='192.168.160.205,192.168.160.203,192.168.160.206'

重啟MySQL服務(wù)(三個(gè))

shutdown;
exit;
/data/mysql/mysqlbase/mysql3306/bin/mysqld_safe --defaults-file=/data/mysql/mysqldata/mysql3306/my8.cnf 2>&1 &
/data/mysql/mysqlbase/mysql3306/bin/mysql -uroot -proot -S /data/mysql/mysqldata/mysql3306/sock/mysql.sock -A

主庫(kù)啟動(dòng)mgr

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;

從庫(kù)加入mgr

START GROUP_REPLICATION;

查看成員狀態(tài)

SELECT * FROM performance_schema.replication_group_members;

mgr常用命令

-- 啟動(dòng)MGR(節(jié)點(diǎn)加入集群)
START GROUP_REPLICATION;
-- 停止MGR(節(jié)點(diǎn)退出集群)
STOP GROUP_REPLICATION;

---------------------------------------------------------------------------------
-- 查看所有節(jié)點(diǎn)的ID、主機(jī)、端口、狀態(tài)(ONLINE/RECOVERING/OFFLINE等)
SELECT * FROM performance_schema.replication_group_members;

-------------------------------------------------------------------------------
-- 區(qū)分主節(jié)點(diǎn)(PRIMARY)和從節(jié)點(diǎn)(SECONDARY)
SELECT member_id, member_host, member_role FROM performance_schema.replication_group_members;

-----------------------------------------------------------------------------
-- 對(duì)比所有節(jié)點(diǎn)已執(zhí)行的GTID集合,確認(rèn)數(shù)據(jù)是否一致
SELECT member_id,member_host,@@global.gtid_executed AS executed_gtid
FROM performance_schema.replication_group_members;

-----------------------------------------------------------------------------
-- 查看節(jié)點(diǎn)發(fā)送/接收字節(jié)數(shù)、事務(wù)數(shù)等
SELECT * FROM performance_schema.replication_group_member_stats;

----------------------------------------------------------------------------
--加入新節(jié)點(diǎn),在新節(jié)點(diǎn)執(zhí)行以下命令
  -- 1. 配置集群通信用戶(與集群其他節(jié)點(diǎn)一致)
CHANGE REPLICATION SOURCE TO
  SOURCE_USER = 'mgr_repl',  -- 復(fù)制用戶名
  SOURCE_PASSWORD = 'repl_pass'  -- 密碼
  FOR CHANNEL 'group_replication_recovery';
  -- 2. 啟動(dòng)MGR加入集群
START GROUP_REPLICATION;

---------------------------------------------------------------------------
--單主模式下切換主節(jié)點(diǎn)(集群必須要是正常的)
  -- 語(yǔ)法:SELECT group_replication_set_as_primary('目標(biāo)節(jié)點(diǎn)的member_id');
  -- 示例:將member_id為'1234-...'的節(jié)點(diǎn)設(shè)為主節(jié)點(diǎn)
SELECT group_replication_set_as_primary('12345678-aaaa-bbbb-cccc-1234567890ab');

--------------------------------------------------------------------------
--切換集群模式
  -- 1. 所有節(jié)點(diǎn)停止MGR
STOP GROUP_REPLICATION;
  -- 2. 切換為多主模式(所有節(jié)點(diǎn)執(zhí)行)
SET GLOBAL group_replication_single_primary_mode = OFF;
  -- 或切換為單主模式
SET GLOBAL group_replication_single_primary_mode = ON;
  -- 3. 所有節(jié)點(diǎn)重啟MGR生效
START GROUP_REPLICATION;

--------------------------------------------------------------------------
-- 查看group_replication_recovery通道的連接狀態(tài)(節(jié)點(diǎn)加入時(shí)的數(shù)據(jù)同步)
SELECT * FROM performance_schema.replication_connection_status 
WHERE CHANNEL_NAME = 'group_replication_recovery';

-------------------------------------------------------------------------
--重置節(jié)點(diǎn)復(fù)制配置信息
  -- 停止MGR
STOP GROUP_REPLICATION;
  -- 重置recovery通道的復(fù)制配置
RESET SLAVE ALL FOR CHANNEL 'group_replication_recovery';
  -- 重新配置復(fù)制用戶(若需)
CHANGE REPLICATION SOURCE TO
  SOURCE_USER = 'mgr_repl',
  SOURCE_PASSWORD = 'repl_pass'
  FOR CHANNEL 'group_replication_recovery';
  -- 重啟MGR
START GROUP_REPLICATION;

---------------------------------------------------------------------------

到此這篇關(guān)于MySQL mgr搭建的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MySQL mgr搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql踩坑之limit與sum函數(shù)混合使用問題詳解

    mysql踩坑之limit與sum函數(shù)混合使用問題詳解

    這篇文章主要給大家介紹了關(guān)于mysql踩坑之limit與sum函數(shù)混合使用問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用innodb_force_recovery解決MySQL崩潰無法重啟問題

    使用innodb_force_recovery解決MySQL崩潰無法重啟問題

    這篇文章主要介紹了使用innodb_force_recovery解決MySQL崩潰無法重啟問題,這只一個(gè)成功案例,并不是萬能的解決方法,需要酌情考慮,需要的朋友可以參考下
    2015-05-05
  • MySQL中普通CTE和遞歸CTE的順序問題小結(jié)

    MySQL中普通CTE和遞歸CTE的順序問題小結(jié)

    本文主要介紹了MySQL 中普通 CTE 和遞歸 CTE 的順序問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • mysql忘記密碼重置的方法實(shí)現(xiàn)

    mysql忘記密碼重置的方法實(shí)現(xiàn)

    本文主要介紹了mysql忘記密碼重置的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • MySQL asc、desc數(shù)據(jù)排序的實(shí)現(xiàn)

    MySQL asc、desc數(shù)據(jù)排序的實(shí)現(xiàn)

    這篇文章主要介紹了MySQL asc、desc數(shù)據(jù)排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • mysql 存儲(chǔ)過程中變量的定義與賦值操作

    mysql 存儲(chǔ)過程中變量的定義與賦值操作

    昨天我們講了mysql存儲(chǔ)過程創(chuàng)建修改與刪除,下面我們這篇教程是講關(guān)于mysql存儲(chǔ)過程中變量的定義賦值操作哦。
    2010-05-05
  • MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM

    MySQL:Unsafe statement written to the binary log using state

    這篇文章主要介紹了MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM,需要的朋友可以參考下
    2016-05-05
  • MySQL連接異常場(chǎng)景模擬與排查的實(shí)戰(zhàn)指南

    MySQL連接異常場(chǎng)景模擬與排查的實(shí)戰(zhàn)指南

    在日常開發(fā)與運(yùn)維中,MySQL連接故障是高頻問題,若無法快速定位根源,會(huì)嚴(yán)重影響業(yè)務(wù)穩(wěn)定性,本文通過實(shí)驗(yàn)?zāi)M8種常見MySQL連接異常場(chǎng)景,結(jié)合具體操作步驟與報(bào)錯(cuò)信息,梳理出有報(bào)錯(cuò)和無報(bào)錯(cuò)兩種情況下的排查思路,需要的朋友可以參考下
    2026-01-01
  • MySQL中的case?when中對(duì)于NULL值判斷的坑及解決

    MySQL中的case?when中對(duì)于NULL值判斷的坑及解決

    這篇文章主要介紹了MySQL中的case?when中對(duì)于NULL值判斷的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL安全快速的刪除一張大表的正確方式

    MySQL安全快速的刪除一張大表的正確方式

    生產(chǎn)環(huán)境中直接 DROP TABLE 一張千萬級(jí)大表無異于自 殺,本文深度解析 InnoDB 刪表的底層原理,提供一套無感刪表的標(biāo)準(zhǔn)操作流程(SOP),助你在不影響業(yè)務(wù)的前提下,安全、快速地清理海量數(shù)據(jù),需要的朋友可以參考下
    2026-03-03

最新評(píng)論

冀州市| 大厂| 克拉玛依市| 通海县| 太白县| 平南县| 菏泽市| 黄梅县| 乌拉特中旗| 克什克腾旗| 荥阳市| 荣成市| 前郭尔| 苏尼特右旗| 米林县| 甘洛县| 白玉县| 临洮县| 堆龙德庆县| 施秉县| 皋兰县| 健康| 大余县| 修武县| 育儿| 台中市| 尚志市| 库尔勒市| 东宁县| 博野县| 仙游县| 陇南市| 金山区| 喀喇| 南京市| 佛坪县| 乐安县| 渭南市| 五原县| 通道| 临城县|