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

CentOS 7搭建MySQL主從復(fù)制集群的全過程

 更新時間:2026年05月22日 09:19:59   作者:身如柳絮隨風(fēng)揚  
在實際生產(chǎn)環(huán)境中,單個 MySQL 實例存在單點故障和性能瓶頸,本文將以 CentOS 7 為例,手把手教你搭建一套標(biāo)準(zhǔn)的 MySQL 主從復(fù)制集群(Master-Slave Replication),實現(xiàn)讀寫分離與數(shù)據(jù)熱備,需要的朋友可以參考下

導(dǎo)讀:在實際生產(chǎn)環(huán)境中,單個 MySQL 實例存在單點故障和性能瓶頸。本文將以 CentOS 7 為例,手把手教你搭建一套標(biāo)準(zhǔn)的 MySQL 主從復(fù)制集群(Master-Slave Replication),實現(xiàn)讀寫分離與數(shù)據(jù)熱備。全文包含環(huán)境準(zhǔn)備、安裝配置、主從搭建、驗證優(yōu)化等完整步驟,并輔以流程圖與操作示意圖,助你快速落地高可用架構(gòu)。

1. 集群架構(gòu)概覽

MySQL 主從復(fù)制是一種異步復(fù)制機(jī)制,主庫(Master)記錄所有寫操作到二進(jìn)制日志(binlog),從庫(Slave)通過 I/O 線程拉取日志并重放,從而實現(xiàn)數(shù)據(jù)同步。

架構(gòu)優(yōu)勢

  • 讀寫分離,提升讀并發(fā)能力
  • 數(shù)據(jù)實時備份,主庫故障可快速切換
  • 支持在線備份(從庫備份不影響主庫)

2. 環(huán)境準(zhǔn)備

主機(jī)名IP 地址角色操作系統(tǒng)
db-master192.168.1.10MasterCentOS 7.9
db-slave1192.168.1.11SlaveCentOS 7.9

注意:所有節(jié)點需關(guān)閉防火墻或開放 3306 端口,并配置好主機(jī)名解析(/etc/hosts)。

3. 安裝 MySQL(使用 Yum 源,避免編譯)

傳統(tǒng)編譯方式(./configure && make && make install)耗時且易出錯,強烈推薦使用官方 Yum 源。

3.1 添加 MySQL Yum 源

在兩臺節(jié)點上分別執(zhí)行:

# 下載 MySQL 8.0 官方源(也可選擇 5.7)
wget https://repo.mysql.com//mysql80-community-release-el7-11.noarch.rpm
rpm -ivh mysql80-community-release-el7-11.noarch.rpm
# 更新 yum 緩存
yum clean all
yum makecache

3.2 安裝 MySQL Server

yum install -y mysql-community-server

3.3 啟動并初始化

# 啟動 MySQL 服務(wù)
systemctl start mysqld
systemctl enable mysqld
# 查看臨時密碼(MySQL 8.0 默認(rèn)生成)
grep 'temporary password' /var/log/mysqld.log

輸出示例:2025-05-22T06:35:12.123456Z 1 [Note] A temporary password is generated for root@localhost: >kL9#xW?rQ2i

3.4 安全配置(修改密碼)

mysql -uroot -p
# 輸入臨時密碼后執(zhí)行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPwd123!';
FLUSH PRIVILEGES;

密碼強度要求:至少 8 位,包含大小寫字母、數(shù)字和特殊字符。

4. 配置主從復(fù)制

4.1 主庫配置(Master)

編輯 /etc/my.cnf,在 [mysqld] 段添加以下內(nèi)容:

[mysqld]
# 服務(wù)器 ID(主從各節(jié)點必須唯一)
server-id = 1
# 開啟二進(jìn)制日志
log-bin = mysql-bin
# 需要復(fù)制的數(shù)據(jù)庫(可選,默認(rèn)所有)
# binlog-do-db = exampledb
# 忽略復(fù)制的數(shù)據(jù)庫
# binlog-ignore-db = mysql
# 二進(jìn)制日志格式(推薦 ROW)
binlog_format = ROW
# 確保行鏡像完整
binlog_row_image = FULL
# 過期日志清理(保留 7 天)
expire_logs_days = 7

重啟主庫:

systemctl restart mysqld

登錄主庫,創(chuàng)建復(fù)制專用用戶:

CREATE USER 'replica'@'%' IDENTIFIED BY 'ReplicaPass123!';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
FLUSH PRIVILEGES;

查看主庫狀態(tài)(記錄 File 和 Position):

SHOW MASTER STATUS;

輸出示例:

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      157 |              |                  |
+------------------+----------+--------------+------------------+

4.2 從庫配置(Slave)

編輯 /etc/my.cnf

[mysqld]
server-id = 2
# 開啟中繼日志
relay-log = mysql-relay-bin
# 只讀模式(可選)
read_only = 1
# 禁止從庫執(zhí)行寫操作(超級用戶除外)
super_read_only = 1

重啟從庫:

systemctl restart mysqld

在從庫上執(zhí)行同步配置(替換 MASTER_LOG_FILEMASTER_LOG_POS 為主庫查詢到的值):

CHANGE MASTER TO
  MASTER_HOST = '192.168.1.10',
  MASTER_USER = 'replica',
  MASTER_PASSWORD = 'ReplicaPass123!',
  MASTER_LOG_FILE = 'mysql-bin.000001',
  MASTER_LOG_POS = 157;

啟動從庫復(fù)制線程:

START SLAVE;

檢查同步狀態(tài):

SHOW SLAVE STATUS\G

重點關(guān)注以下兩個字段應(yīng)為 Yes

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes

5. 驗證主從復(fù)制

5.1 在主庫創(chuàng)建測試數(shù)據(jù)

CREATE DATABASE testdb;
USE testdb;
CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR(20));
INSERT INTO t1 VALUES (1, 'Master Data');

5.2 在從庫查詢

USE testdb;
SELECT * FROM t1;

如果能看到相同數(shù)據(jù),說明主從同步成功。

6. 常見問題與排障

問題現(xiàn)象可能原因解決方法
Slave_IO_Running: Connecting網(wǎng)絡(luò)不通 / 用戶權(quán)限錯誤檢查防火墻、MySQL 端口、復(fù)制用戶權(quán)限
Slave_SQL_Running: NoSQL 語句執(zhí)行沖突(如主鍵重復(fù))查看 Last_Error 字段,跳過或修復(fù)數(shù)據(jù)
主從延遲大從庫硬件差 / 大事務(wù)開啟并行復(fù)制(slave_parallel_workers

跳過錯誤示例(謹(jǐn)慎使用):

STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;

7. 操作流程圖

8. 高可用延伸:MHA / InnoDB Cluster

主從復(fù)制雖然實現(xiàn)了數(shù)據(jù)同步,但故障轉(zhuǎn)移仍需人工介入。生產(chǎn)環(huán)境可考慮:

  • MHA(Master High Availability):自動監(jiān)控并切換主庫。
  • MySQL Group Replication(MGR):內(nèi)置的分布式復(fù)制機(jī)制,提供強一致性。
  • MySQL InnoDB Cluster:基于 MGR + MySQL Router 的官方高可用方案。

后續(xù)文章將詳細(xì)講解這些高級架構(gòu)。

9. 總結(jié)

本文摒棄了過時的源碼編譯方式,采用官方 Yum 源在 CentOS 7 上快速搭建 MySQL 主從復(fù)制集群,并提供了完整的驗證步驟與排障指南。通過該架構(gòu),你可以輕松實現(xiàn)讀寫分離和數(shù)據(jù)備份,為業(yè)務(wù)系統(tǒng)提供更穩(wěn)定的數(shù)據(jù)庫服務(wù)。

關(guān)鍵點回顧

  • ? 主從核心:二進(jìn)制日志(binlog) + 中繼日志(relay log)
  • ? 必須配置唯一的 server-id
  • ? 從庫 read_only 防止誤寫
  • ? 定期監(jiān)控 SHOW SLAVE STATUS

以上就是CentOS 7搭建MySQL主從復(fù)制集群的全過程的詳細(xì)內(nèi)容,更多關(guān)于CentOS 7搭建MySQL主從復(fù)制集群的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決MySQL時區(qū)日期時差8個小時的問題

    解決MySQL時區(qū)日期時差8個小時的問題

    本文主要介紹了解決MySQL時區(qū)日期時差8個小時的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mysql sql_mode="" 的作用說明

    mysql sql_mode="" 的作用說明

    在看discuz源碼時看到了sql_mode="",不知道是干嘛的,猜想是設(shè)置模式,但是不清楚是什么模式,于是從網(wǎng)上搜了下,sql_mode="" 的作用
    2011-08-08
  • MySQL啟動時InnoDB引擎被禁用了的解決方法

    MySQL啟動時InnoDB引擎被禁用了的解決方法

    最近在工作中遇到一個問題,現(xiàn)將解決的方法分享出來供大家參考學(xué)習(xí),下面這篇文章主要給大家介紹了關(guān)于MySQL啟動時InnoDB引擎被禁用了的解決方法,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Ubuntu Server下MySql數(shù)據(jù)庫備份腳本代碼

    Ubuntu Server下MySql數(shù)據(jù)庫備份腳本代碼

    為了mysql數(shù)據(jù)庫的安全,我們需要定時備份mysql數(shù)據(jù)庫,這里提供下腳本代碼,需要的朋友可以參考下
    2013-06-06
  • mysql索引對排序的影響實例分析

    mysql索引對排序的影響實例分析

    這篇文章主要介紹了mysql索引對排序的影響,結(jié)合實例形式分析了mysql使用索引提高排序速度的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • 記一次mysql5.7測試數(shù)據(jù)庫被刪表的問題

    記一次mysql5.7測試數(shù)據(jù)庫被刪表的問題

    這篇文章主要介紹了記一次mysql5.7測試數(shù)據(jù)庫被刪表的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • mysql 鍵長如何計算的方法實現(xiàn)

    mysql 鍵長如何計算的方法實現(xiàn)

    在MySQL中,鍵長是指在索引中用于存儲鍵值的數(shù)據(jù)長度,本文就來詳細(xì)的介紹一下mysql 鍵長如何計算的方法實現(xiàn),感興趣的可以了解一下
    2026-03-03
  • mysql 模糊查詢 concat()的用法詳解

    mysql 模糊查詢 concat()的用法詳解

    大家都知道concat()函數(shù),是用來連接字符串,今天通過本文給大家介紹mysql 模糊查詢 concat()及concat的用法,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • windows下安裝mysql-8.0.18-winx64的教程(圖文詳解)

    windows下安裝mysql-8.0.18-winx64的教程(圖文詳解)

    這篇文章主要介紹了windows下安裝mysql-8.0.18-winx64,需要的朋友可以參考下
    2019-12-12
  • mysql數(shù)據(jù)遷移到Oracle的正確方法

    mysql數(shù)據(jù)遷移到Oracle的正確方法

    這篇文章主要為大家詳細(xì)介紹了mysql數(shù)據(jù)遷移到Oracle的正確方法,文中步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

龙陵县| 卓尼县| 迁西县| 邹城市| 定西市| 额尔古纳市| 台中市| 原平市| 保定市| 额敏县| 伊吾县| 丹棱县| 桂东县| 睢宁县| 密云县| 桐梓县| 蕲春县| 萝北县| 苏尼特左旗| 娄烦县| 双柏县| 大邑县| 铁岭市| 汽车| 那坡县| 长泰县| 靖州| 赤壁市| 武乡县| 白玉县| 卓资县| 合山市| 遂昌县| 南丹县| 元朗区| 新野县| 周至县| 绩溪县| 星座| 苏州市| 怀集县|