MySQL配置多主復(fù)制的實(shí)現(xiàn)步驟
多主復(fù)制(Multi-Master Replication)是一種允許多個MySQL服務(wù)器同時接受寫操作的復(fù)制方式。MySQL提供了一種名為“組復(fù)制”(Group Replication)的功能,可以實(shí)現(xiàn)多主復(fù)制,并且具有高可用性和一致性。
以下是詳細(xì)配置MySQL多主復(fù)制的步驟和示例代碼。
1. 環(huán)境準(zhǔn)備
假設(shè)我們有三臺MySQL服務(wù)器:
- 主服務(wù)器1 (Master1):192.168.1.1
- 主服務(wù)器2 (Master2):192.168.1.2
- 主服務(wù)器3 (Master3):192.168.1.3
2. 配置每臺服務(wù)器
2.1 修改每臺服務(wù)器的配置文件
編輯每臺服務(wù)器的my.cnf文件,添加以下配置:
[mysqld] server-id = 1 # 每個服務(wù)器的唯一ID,確保每臺服務(wù)器的ID不同 log-bin = mysql-bin # 啟用二進(jìn)制日志 binlog-format = row # 使用行格式的二進(jìn)制日志 plugin-load = group_replication.so # 加載組復(fù)制插件 group_replication_group_name = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" # 組的唯一標(biāo)識符 group_replication_start_on_boot = OFF # 在啟動時不自動加入組 group_replication_local_address = "192.168.1.1:33061" # 本地服務(wù)器地址和端口 group_replication_group_seeds = "192.168.1.1:33061,192.168.1.2:33061,192.168.1.3:33061" # 所有成員的地址和端口 group_replication_bootstrap_group = OFF # 僅用于第一個啟動的服務(wù)器 group_replication_single_primary_mode = OFF # 允許多主模式
確保每臺服務(wù)器的server-id和group_replication_local_address唯一且正確。
3. 安裝和配置插件
在每臺服務(wù)器上安裝組復(fù)制插件:
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
4. 啟動組復(fù)制
4.1 在第一臺服務(wù)器上啟動組復(fù)制
在第一臺服務(wù)器(Master1)上,設(shè)置group_replication_bootstrap_group為ON以引導(dǎo)組:
SET GLOBAL group_replication_bootstrap_group = ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group = OFF;
4.2 在其他服務(wù)器上加入組
在其他服務(wù)器(Master2和Master3)上,直接啟動組復(fù)制:
START GROUP_REPLICATION;
5. 驗證組復(fù)制
在每臺服務(wù)器上檢查組復(fù)制狀態(tài):
SELECT * FROM performance_schema.replication_group_members;
你應(yīng)該看到所有成員都在組中,并且狀態(tài)為ONLINE。
示例
假設(shè)我們在每臺服務(wù)器上創(chuàng)建一個數(shù)據(jù)庫和表,并插入一些數(shù)據(jù):
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO test_table (name) VALUES ('test_name1');
在其他服務(wù)器上檢查是否能看到這些數(shù)據(jù):
USE test_db; SELECT * FROM test_table;
你應(yīng)該能夠在所有服務(wù)器上看到相同的數(shù)據(jù)。
小結(jié)
通過以上步驟,你已經(jīng)成功配置了MySQL的多主復(fù)制。組復(fù)制提供了一種強(qiáng)大且靈活的解決方案,允許多個服務(wù)器同時接受寫操作,并提供高可用性和一致性。確保按步驟進(jìn)行配置,并在生產(chǎn)環(huán)境中進(jìn)行充分測試,以確保系統(tǒng)的穩(wěn)定性和高效運(yùn)行。
到此這篇關(guān)于MySQL配置多主復(fù)制的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MySQL 多主復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL關(guān)于sql_mode解析與設(shè)置講解
今天小編就為大家分享一篇關(guān)于MySQL關(guān)于sql_mode解析與設(shè)置講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
解決MySQL導(dǎo)入SQL時報錯1067–Invalid default value for
文章介紹了MySQL中報錯[ERR]1067-Invaliddefaultvaluefor‘a(chǎn)dd_date’的原因,以及如何通過修改my.ini文件禁用嚴(yán)格模式來解決這個問題2026-03-03
mysql給id設(shè)置默認(rèn)值為UUID的實(shí)現(xiàn)方法
由于mysql并不支持默認(rèn)值為函數(shù)類型,給id設(shè)值有兩種方式,本文主要介紹了mysql給id設(shè)置默認(rèn)值為UUID的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下2023-08-08
Centos7.3下mysql5.7.18安裝并修改初始密碼的方法
這篇文章主要為大家詳細(xì)介紹了Centos7.3下mysql5.7.18安裝并修改初始密碼的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
mysql 5.7 的 /etc/my.cnf 參數(shù)介紹
這篇文章主要介紹了mysql 5.7 的 /etc/my.cnf 參數(shù)介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
mysql多行子查詢實(shí)戰(zhàn)案例(只包含不相關(guān)子查詢)
在MySQL中多行子查詢(也稱為 IN 子查詢)是指子查詢返回多行數(shù)據(jù),并且這些數(shù)據(jù)用于主查詢中的某個條件判斷,這篇文章主要介紹了mysql多行子查詢(只包含不相關(guān)子查詢)的相關(guān)資料,需要的朋友可以參考下2024-10-10

