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

MySQL 雙機互備的項目實踐

 更新時間:2026年03月11日 08:27:51   作者:我已瘋魔成性  
MySQL雙機互備實現(xiàn)主主復(fù)制的高可用架構(gòu),通過配置兩臺服務(wù)器互為主從,實現(xiàn)數(shù)據(jù)實時同步和服務(wù)冗余,下面就來詳細的介紹一下,感興趣的可以了解一下

前言

MySQL 雙機互備(也常被稱為主主復(fù)制 / Master-Master 復(fù)制)是一種高可用架構(gòu),兩臺 MySQL 服務(wù)器互為主從,既能各自提供讀寫服務(wù),又能實時同步數(shù)據(jù),避免單節(jié)點故障導(dǎo)致服務(wù)中斷。下面我會用通俗易懂的方式,一步步教你實現(xiàn) MySQL 雙機互備。

一、環(huán)境準備

假設(shè)你有兩臺服務(wù)器,基礎(chǔ)信息如下(請?zhí)鎿Q為你的實際信息):
表格
服務(wù)器 IP 地址 角色
服務(wù)器 A 192.168.1.100 Master1/ Slave2
服務(wù)器 B 192.168.1.101 Master2/ Slave1

前置條件:
兩臺服務(wù)器安裝相同版本的 MySQL(推薦 5.7+ 或 8.0+)。
兩臺服務(wù)器網(wǎng)絡(luò)互通(能 ping 通,且 3306 端口開放)。
關(guān)閉防火墻 / SELinux(或放行 3306 端口)。
兩臺服務(wù)器的 server-id 必須不同(核心)

二、核心配置步驟

1.修改兩臺服務(wù)器的 MySQL 配置文件

MySQL 配置文件通常在 /etc/my.cnf(CentOS/RHEL)或 /etc/mysql/my.cnf(Ubuntu/Debian),編輯配置文件并添加以下內(nèi)容:

服務(wù)器 A(192.168.1.100)配置

server-id=1                                   #server的唯一標識
auto_increment_offset=1                       #自增id起始值
auto_increment_increment=2                    #每次自增數(shù)字
log-bin = mysql-bin                           #打開二進制功能,MASTER主服務(wù)器必須打開此項
max_binlog_size=1024M                         #binlog單文件最大值
replicate-do-db=mcsxx
replicate-do-db=mcsxx_config
replicate-ignore-table=mcsxx.sys_num         ##忽略不同步的表
replicate-ignore-table=mcsxx.sys_verify         ##忽略不同步的表
slave-skip-errors=all
# 啟用GTID模式  
gtid_mode = ON  
# 強制GTID一致性檢查  
enforce_gtid_consistency = ON  
# 可選:禁用日志校驗(部分版本需添加)  
binlog_checksum = NONE 
log_slave_updates = ON # 必須開啟,確?;鋾r事務(wù)日志傳遞
binlog_format = ROW # 推薦ROW模式

服務(wù)器 B(192.168.1.101)配置

server-id=2                                 #server的唯一標識
auto_increment_offset=2                       #自增id起始值
auto_increment_increment=2                    #每次自增數(shù)字
log-bin = mysql-bin                           #打開二進制功能,MASTER主服務(wù)器必須打開此項
max_binlog_size=1024M                         #binlog單文件最大值
replicate-do-db=mcsxx
replicate-do-db=mcsxx_config
replicate-ignore-table=mcsxx.sys_num         ##忽略不同步的表
replicate-ignore-table=mcsxx.sys_verify         ##忽略不同步的表
slave-skip-errors=all
# 啟用GTID模式  
gtid_mode = ON  
# 強制GTID一致性檢查  
enforce_gtid_consistency = ON  
# 可選:禁用日志校驗(部分版本需添加)  
binlog_checksum = NONE  
log_slave_updates = ON # 必須開啟,確保互備時事務(wù)日志傳遞
binlog_format = ROW # 推薦ROW模式

修改完成后,重啟兩臺服務(wù)器的 MySQL 服務(wù):

# CentOS/RHEL 7+
systemctl restart mysqld
# Ubuntu/Debian
systemctl restart mysql

2.創(chuàng)建復(fù)制專用賬號

在兩臺服務(wù)器上分別創(chuàng)建用于復(fù)制的賬號(權(quán)限最小化,只授予復(fù)制權(quán)限):

服務(wù)器 A 上執(zhí)行(給服務(wù)器 B 授權(quán)):

CREATE USER 'repl'@'192.168.1.101' IDENTIFIED BY 'abcmima';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.101';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;  # 記錄File和Position 

服務(wù)器 B上執(zhí)行(給服務(wù)器 A 授權(quán)):

CREATE USER 'repl'@'192.168.1.100' IDENTIFIED BY 'abcmima';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.100';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;  # 記錄File和Position 

3.刪除日志文件(從當(dāng)前開始同步,兩邊都刪掉,然后重啟數(shù)據(jù)庫)

rm -rf mysql-bin.*
rm -rf localhost-relay-bin.*

4.配置互為從庫

服務(wù)器 A 上配置(將服務(wù)器 B 設(shè)為主庫)

RESET MASTER;
CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_USER='repl', MASTER_PASSWORD='abcmima', MASTER_AUTO_POSITION=1; 
START SLAVE;
show slave status\G

服務(wù)器 B上配置(將服務(wù)器 A 設(shè)為主庫)

RESET MASTER;
CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='repl', MASTER_PASSWORD='abcmima', MASTER_AUTO_POSITION=1; 
START SLAVE;
show slave status\G

5.檢查從庫狀態(tài)(關(guān)鍵,兩臺服務(wù)器都需要查詢)

SHOW SLAVE STATUS\G;

關(guān)鍵檢查項:確保 Slave_IO_Running 和 Slave_SQL_Running 都是 Yes,如果是 No,查看 Last_Error 排查問題。

6.驗證數(shù)據(jù)庫

分別在兩臺服務(wù)器上插入修改數(shù)據(jù),另外一臺服務(wù)器上數(shù)據(jù)庫查看有沒有變化。

7.常見問題與注意事項

主鍵沖突:主主復(fù)制的核心是 auto_increment_increment 和 auto_increment_offset 配置,必須保證兩臺服務(wù)器的自增 ID 不重疊。
復(fù)制狀態(tài)異常:如果 Slave_IO_Running 為 No,檢查網(wǎng)絡(luò) / 賬號密碼;如果 Slave_SQL_Running 為 No,檢查數(shù)據(jù)不一致(如主鍵重復(fù))。
只讀設(shè)置:如果想讓其中一臺僅作為備庫(只讀),可將其 read_only = 1(注意:root 用戶不受只讀限制)。
故障切換:如果一臺服務(wù)器宕機,可將業(yè)務(wù)流量切到另一臺,恢復(fù)后重新配置復(fù)制即可。

總結(jié)

MySQL 雙機互備的核心是主主復(fù)制,通過開啟二進制日志、配置不同的 server-id 和自增步長,實現(xiàn)兩臺服務(wù)器數(shù)據(jù)雙向同步。
關(guān)鍵配置項:log-bin(開啟二進制日志)、log_slave_updates = 1(允許從庫寫入二進制日志)、auto_increment_increment/offset(避免主鍵沖突)。
驗證時需雙向測試數(shù)據(jù)同步,核心檢查項是 Slave_IO_Running 和 Slave_SQL_Running 均為 Yes。

到此這篇關(guān)于MySQL 雙機互備的文章就介紹到這了,更多相關(guān)MySQL 雙機互備內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

哈密市| 宁陕县| 家居| 巨鹿县| 兴和县| 晋中市| 环江| 清原| 长丰县| 广平县| 陆良县| 长春市| 温州市| 民勤县| 永川市| 镇平县| 湟中县| 延吉市| 雷波县| 黑水县| 黄山市| 聂拉木县| 沁阳市| 新乡县| 郎溪县| 南昌市| 尚志市| 墨竹工卡县| 清水河县| 石景山区| 西平县| 万年县| 和静县| 宁蒗| 岢岚县| 吉隆县| 南皮县| 绥滨县| 山阳县| 南澳县| 沾化县|