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

MySQL 數據庫主從同步搭建全記錄:從環境準備到驗證的完整步驟

     編輯:MySQL 綜合教學

環境準備

  • Master: 10.254.141.23
  • Slave: 10.254.166.60
  • 雙方已安裝 MySQL

步驟 1:確認 Master 已開啟 Binlog

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000007 | 107      |              |                  |
+------------------+----------+--------------+------------------+

若無輸出,需修改 /etc/my.cnf 添加並重啟:

log-bin = mysql-bin
relay-log = relay-bin
binlog_format = MIXED
binlog_cache_size = 1M

步驟 2:Master 創建同步賬號

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

步驟 3:Master 全量備份 (含 Binlog 位置)

mysqldump -uroot -p123456 --single-transaction --master-data=2 --all-databases \
  --flush-logs > db.sql

步驟 4:Slave 導入備份

mysql -uroot -p123456 < db.sql

步驟 5:Slave 配置同步並啟動

從 db.sql 開頭獲取 Binlog 位置:

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=107

在 Slave 執行:

CHANGE MASTER TO
  MASTER_HOST='10.254.141.23',
  MASTER_USER='repl',
  MASTER_PASSWORD='123456',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.000007',
  MASTER_LOG_POS=107;

START SLAVE;

步驟 6:驗證同步狀態

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0

Seconds_Behind_Master: 0 表示無延遲,主從同步成功。

補充:關閉 Binlog 位置記錄 (如需)

mysql> SET SQL_LOG_BIN=0;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved