MySQL配置多主復(fù)制的實現(xiàn)步驟
多主復(fù)制(Multi-Master Replication)是一種允許多個MySQL服務(wù)器同時接受寫操作的復(fù)制方式。MySQL提供了一種名為“組復(fù)制”(Group Replication)的功能,可以實現(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)定性和高效運行。
到此這篇關(guān)于MySQL配置多主復(fù)制的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MySQL 多主復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu 18.04下mysql 8.0 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Ubuntu 18.04下mysql 8.0 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05史上最簡單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)
這篇文章主要為大家詳細(xì)介紹了史上最簡單的MySQL數(shù)據(jù)備份與還原教程下篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog
這篇文章主要介紹了如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2021-02-02mysql截取json對象特定數(shù)據(jù)的場景示例詳解
這篇文章主要為大家介紹了mysql中截取json對象特定數(shù)據(jù)的場景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07MySQL數(shù)據(jù)類型和常用字段屬性總結(jié)
這篇文章主要介紹了MySQL數(shù)據(jù)類型和常用字段屬性總結(jié),本文總結(jié)了日期和時間數(shù)據(jù)類型、數(shù)值數(shù)據(jù)類型、字符串?dāng)?shù)據(jù)類型等,需要的朋友可以參考下2014-09-09