centos7.x下,使用寶塔進行主從復制的原理和實踐

操作原理:

一、主庫配置
1.修改 MySQL 配置文件
# 編輯主庫配置文件(路徑根據實際系統可能不同)
vim /etc/my.cnf
?
# 添加以下配置
[mysqld]
server-id = 1 ? ? ? ? ? ? ? ? # 唯一 ID,主庫設置為 1
log-bin = mysql-bin ? ? ? ? ? # 啟用二進制日志
binlog_format = ROW ? ? ? ? ? # 推薦使用 ROW 模式
expire_logs_days = 7 ? ? ? ? ?# 日志保留天數
max_binlog_size = 100M ? ? ? ?# 單個日志文件大小
skip_name_resolve = ON ? ? ? ?# 跳過域名解析(可選)

重啟 MySQL 服務
systemctl restart mysqld

2.登錄到主服務器:
mysql -u root -p

3.創建復制用戶
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;

4.查看主服務器的狀態
SHOW MASTER STATUS;

二、從庫配置
1.修改 MySQL 配置文件
# 編輯從庫配置文件
vim /etc/my.cnf
?
# 添加以下配置
[mysqld]
server-id = 2 ? ? ? ? ? ? ? ? # 唯一 ID,不能與主庫相同
relay-log = mysql-relay-bin ? # 啟用中繼日志
read_only = ON ? ? ? ? ? ? ? ?# 從庫只讀(可選,確保數據安全)

重啟 MySQL 服務
systemctl restart mysqld

2.登錄到主服務器:
mysql -u root -p

3.配置從服務器
CHANGE MASTER TO
? MASTER_HOST='主服務器IP',
? MASTER_USER='replicator',
? MASTER_PASSWORD='password',
? MASTER_LOG_FILE='記錄的File值',
? MASTER_LOG_POS=記錄的Position值;
??
4.啟動復制
START SLAVE;

5.檢查從服務器的狀態
SHOW SLAVE STATUS\G
查看 Slave_IO_Running 和 Slave_SQL_Running 是否都為 Yes,這表示復制正在正常運行。
關鍵字段檢查:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0(表示無延遲)
若出現錯誤,檢查 Last_IO_Error 或 Last_SQL_Error。

三、如何遇到錯誤后,排查解決后,重新執行
STOP SLAVE;
RESET SLAVE ALL;
-- 重新執行
CHANGE MASTER TO ……
START SLAVE;
SHOW SLAVE STATUS;

四、同步主庫現有數據(可選)

1.主庫導出數據
# 使用 mysqldump 導出數據(自動記錄 binlog 位置)
mysqldump -uroot -p --all-databases --master-data=1 > /tmp/master_dump.sql(或使用寶塔備份功能)
2.將備份文件導入從庫
# 復制文件到從庫
scp /tmp/master_dump.sql root@slave_ip:/tmp/
# 從庫導入數據
mysql -uroot -p < /tmp/master_dump.sql

---------------------------------------------------------------------------------
實戰案例

一、主庫配置(10.0.12.16)
1.配置防火墻,主庫服務器對從庫IP開放3306端口
2.寶塔修改配置文件,保存后重啟
server-id = 1 ? ? ? ? ? ? ? ? # 唯一 ID,主庫設置為 1,默認不需要修改
3.phpMyadmin執行SQL,創建復制用戶(10.0.16.16為從庫IP)
CREATE USER 'replicator'@'10.0.16.16' IDENTIFIED BY 'abcc1b259f57f8b9111';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'10.0.16.16';
FLUSH PRIVILEGES;
4.記錄的File值,記錄的Position值
SHOW MASTER STATUS;

二、從庫配置(10.0.16.16)
1.寶塔修改配置文件,保存后重啟
server-id = 2 ? ? ? ? ? ? ? ? # 唯一 ID,不能與主庫相同
relay-log = mysql-relay-bin ? # 啟用中繼日志
2.phpMyadmin執行SQL
CHANGE MASTER TO
? MASTER_HOST='10.0.12.16',
? MASTER_USER='replicator',
? MASTER_PASSWORD='abcc1b259f57f8b9111',
? MASTER_LOG_FILE='mysql-bin.000005',
? MASTER_LOG_POS=3629;
3.啟動復制
START SLAVE;
4.查看從服務器的狀態
SHOW SLAVE STATUS;

三、同步主庫現有數據
1.從有數據的服務器上使用寶塔進行備份
2.上傳備份數據到新的主服務器
scp /www/backup/database/mysql/hz_fw_game/hz_fw_game_2025-05-13_20-43-58_mysql_data_vmdYO.sql.zip root@xxx.229.73.57:/root/
3.在新的主服務器上執行數據庫導入操作,此時從數據庫就正常同步了,可以做到主從一致

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82911.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82911.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零實現基于Transformer的英譯漢任務

1. model.py&#xff08;用的是上一篇文章的代碼&#xff1a;從0搭建Transformer-CSDN博客&#xff09; import torch import torch.nn as nn import mathclass PositionalEncoding(nn.Module):def __init__ (self, d_model, dropout, max_len5000):super(PositionalEncoding,…

c#建筑行業財務流水賬系統軟件可上傳記賬憑證財務管理系統簽核功能

# financial_建筑行業 建筑行業財務流水賬系統軟件可上傳記賬憑證財務管理系統簽核功能 # 開發背景 軟件是給岳陽客戶定制開發一款建筑行業流水賬財務軟件。提供工程簽證單、施工日志、人員出勤表等信息記錄。 # 財務管理系統功能描述 1.可以自行設置記賬科目&#xff0c;做憑…

MySQL 8.0 OCP 1Z0-908 題目解析(2)

題目005 Choose two. Which two actions can obtain information about deadlocks? □ A) Run the SHOW ENGINE INNODB MUTEX command from the mysql client. □ B) Enable the innodb_status_output_locks global parameter. □ C) Enable the innodb_print_all_deadlock…

XA協議和Tcc

基于 XA 協議的兩階段提交 (2PC)。這是一種分布式事務協議&#xff0c;旨在保證在多個參與者&#xff08;通常是不同的數據庫或資源管理器&#xff09;共同參與的事務中&#xff0c;所有參與者要么都提交事務&#xff0c;要么都回滾事務&#xff0c;從而維護數據的一致性。 你…

數據分析-圖2-圖像對象設置參數與子圖

from matplotlib import pyplot as mp mp.figure(A figure,facecolorgray) mp.plot([0,1],[1,2]) mp.figure(B figure,facecolorlightgray) mp.plot([1,2],[2,1]) #如果figure中標題已創建&#xff0c;則不會新建窗口&#xff0c; #而是將舊窗口設置為當前窗口 mp.figure(A fig…

跳轉語句:break、continue、goto -《Go語言實戰指南》

在控制流程中&#xff0c;我們有時需要跳出當前循環或跳過當前步驟&#xff0c;甚至直接跳轉到指定位置。Go 提供了三種基本跳轉語句&#xff1a; ? break&#xff1a;跳出當前 for、switch 或 select。? continue&#xff1a;跳過本輪循環&#xff0c;進入下一輪。? goto&a…

Linux中find命令用法核心要點提煉

大家好&#xff0c;歡迎來到程序視點&#xff01;我是你們的老朋友.小二&#xff01; 以下是針對Linux中find命令用法的核心要點提煉&#xff1a; 基礎語法結構 find [路徑] [選項] [操作]路徑&#xff1a;查找目錄&#xff08;.表當前目錄&#xff0c;/表根目錄&#xff09;…

MQTT協議詳解:物聯網通信的輕量級解決方案

MQTT協議詳解&#xff1a;物聯網通信的輕量級解決方案 引言 在物聯網(IoT)快速發展的今天&#xff0c;設備間高效可靠的通信變得至關重要。MQTT(Message Queuing Telemetry Transport)作為一種輕量級的發布/訂閱協議&#xff0c;已成為物聯網通信的首選解決方案。本文將深入探…

list基礎用法

list基礎用法 1.list的訪問就不能用下標[]了,用迭代器2.emplace_back()幾乎是與push_back()用法一致&#xff0c;但也有差別3.insert(),erase()的用法4.reverse()5.排序6.合并7.unique()&#xff08;去重&#xff09;8.splice剪切再粘貼 1.list的訪問就不能用下標[]了,用迭代器…

2025年第十六屆藍橋杯大賽軟件賽C/C++大學B組題解

第十六屆藍橋杯大賽軟件賽C/C大學B組題解 試題A: 移動距離 問題描述 小明初始在二維平面的原點&#xff0c;他想前往坐標(233,666)。在移動過程中&#xff0c;他只能采用以下兩種移動方式&#xff0c;并且這兩種移動方式可以交替、不限次數地使用&#xff1a; 水平向右移動…

BGP實驗練習2

需求&#xff1a; 1.AS1存在兩個環回&#xff0c;一個地址為192.168.1.0/24&#xff0c;該地址不能再任何協議中宣告 AS3存在兩個環回&#xff0c;該地址不能再任何協議中宣告 AS1還有一個環回地址為10.1.1.0/24&#xff0c;AS3另一個環回地址是11.1.1.0/24 最終要求這兩…

【溫濕度物聯網】記錄1:寄存器配置

一&#xff0c;及哦地址 基地址base的定義&#xff1a; ↓ 定義完是這個&#xff1a; GPIOA的地址就是以上的代表 2寄存器&#xff1a; 通過bsrr來改變odr寄存器&#xff0c;左移16位就是把0-15位的給移到高位的保留區&#xff0c;這樣就歸零了 3&#xff0c;項目寄存器實操…

MCP項目實例 - client sever交互

1. 項目概述 項目目標 構建一個本地智能輿論分析系統。 利用自然語言處理和多工具協作&#xff0c;實現用戶查詢意圖的自動理解。 進行新聞檢索、情緒分析、結構化輸出和郵件推送。 系統流程 用戶查詢&#xff1a;用戶輸入查詢請求。 提取關鍵詞&#xff1a;從用戶查詢中…

運維體系架構規劃

運維體系架構規劃是一個系統性工程&#xff0c;旨在構建高效、穩定、安全的運維體系&#xff0c;保障業務系統的持續運行。下面從規劃目標、核心模塊、實施步驟等方面進行詳細闡述&#xff1a; 一、規劃目標 高可用性&#xff1a;確保業務系統 724 小時不間斷運行&#xff0c…

zst-2001 上午題-歷年真題 計算機網絡(16個內容)

網絡設備 計算機網絡 - 第1題 ac 計算機網絡 - 第2題 d 計算機網絡 - 第3題 集線器不能隔離廣播域和沖突域&#xff0c;所以集線器就1個廣播域和沖突域 交換機就是那么的炫&#xff0c;可以隔離沖突域&#xff0c;有4給沖突域&#xff0c;但不能隔離廣播域&#xf…

Python之with語句

文章目錄 Python中的with語句詳解一、基本語法二、工作原理三、文件操作中的with語句1. 基本用法2. 同時打開多個文件 四、with語句的優勢五、自定義上下文管理器1. 基于類的實現2. 使用contextlib模塊 六、常見應用場景七、注意事項 Python中的with語句詳解 with語句是Python…

我的五周年創作紀念日

五年前的今天&#xff0c;我在CSDN發布了第一篇《基于VS2015的MFC學習筆記&#xff08;常用按鈕button&#xff09;》&#xff0c;文末那句"歡迎交流"的忐忑留言&#xff0c;開啟了這段充滿驚喜的技術旅程。恍然發覺那些敲過的代碼早已成長為參天大樹。 收獲 獲得了…

Realtek 8126驅動分析第四篇——multi queue相關

Realtek 8126是 5G 網卡&#xff0c;因為和 8125 較為接近&#xff0c;第四篇從這里開始也無不可。本篇主要是講 multi queue 相關&#xff0c;其他的一些內容在之前就已經提過&#xff0c;不加贅述。 1 初始化 1.1 rtl8126_init_one 從第一篇我們可以知道每個 PCI 驅動都注…

使用PHP對接日本股票市場數據

本文將介紹如何通過StockTV提供的API接口&#xff0c;使用PHP語言來獲取并處理日本股票市場的數據。我們將以查詢公司信息、查看漲跌排行榜和實時接收數據為例&#xff0c;展示具體的操作流程。 準備工作 首先&#xff0c;請確保您已經從StockTV獲得了API密鑰&#xff0c;并且…

爬蟲工具與編程語言選擇指南

有人問爬蟲如何選擇工具和編程語言。根據我多年的經驗來說&#xff0c;是我肯定得先分析不同場景下適合的工具和語言。 如果大家不知道其他語言&#xff0c;比如JavaScript&#xff08;Node.js&#xff09;或者Go&#xff0c;這些在特定情況下可能更合適。比如&#xff0c;如果…