首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 主從複製:20GB 以下小型資料庫快速搭建從庫實戰

     編輯:MySQL 綜合教學

適用場景與核心思路

當資料量在 20GB 以內時,使用 mysqldump 全量導出對業務影響可控,採用「備份 → 傳輸 → 還原 → 建立複製」流程最為簡單高效。

關鍵參數解析

  • --master-data=1:在導出文件中自動記錄 CHANGE MASTER TO 所需的 MASTER_LOG_FILE 與 MASTER_LOG_POS
  • --flush-logs:導出前刷新二進制日誌,確保位置點準確
  • --extended-insert=false:生成單行 INSERT,便於後續處理與除錯

標準操作步驟

1. 主庫全量備份

/usr/local/mysql/bin/mysqldump -uroot -p -S /usr/local/mysql/mysql.sock \
  --default-character-set=utf8 \
  --extended-insert=false --triggers -R --hex-blob \
  --all-databases --master-data=1 --flush-logs \
  > /tmp/create-master2-20140416.sql

2. 傳輸備份文件到從庫

scp create-master2-20140409.sql 10.xx.3.x2:/tmp/

3. 主庫建立複製帳號

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'xx@xx';

4. 從庫導入資料

/usr/local/mysql/bin/mysql -uroot -p -S /usr/local/mysql/mysql.sock \
  --default-character-set=utf8 < /tmp/create-master2-20140416.sql

5. 從備份文件提取 Binlog 位置並配置複製

# 在備份文件頭部查找類似內容:
# -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.008713', MASTER_LOG_POS=120;

CHANGE MASTER TO
  MASTER_USER='repl',
  MASTER_PASSWORD='Plcc0805@replicationm2',
  MASTER_HOST='10.xx.3.x1',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.008713',
  MASTER_LOG_POS=120;

6. 啟動複製並驗證

START SLAVE;
SHOW SLAVE STATUS\G

關鍵檢查點: 確認 Slave_IO_Running 與 Slave_SQL_Running 均為 Yes,Seconds_Behind_Master 為 0。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved