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

MySQL 主從配置極簡版:5 分鐘搭建可用的複製環境

     編輯:MySQL 綜合教學

MySQL 主從配置極簡版

採用 GTID 前的傳統基於位點複製,適合快速驗證、測試環境。核心 4 步:主庫開 binlog、從庫設 server-id、建復制用戶、CHANGE MASTER TO 指定同步點。

主庫配置 my.cnf

[mysqld]
server-id=1
log-bin=/home/china/mysql/mysql-bin

重啟:service mysql restart

從庫配置 my.cnf

[mysqld]
server-id=2

重啟。

建立復制用戶(主庫)

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

從庫指定同步起點並啟動

  1. 主庫 SHOW MASTER STATUS; 記錄 File、Position。
  2. 從庫執行:
    CHANGE MASTER TO
      MASTER_HOST='master_ip',
      MASTER_PORT=3306,
      MASTER_USER='repl',
      MASTER_PASSWORD='password',
      MASTER_LOG_FILE='mysql-bin.000004',
      MASTER_LOG_POS=397;
  3. START SLAVE;
  4. SHOW SLAVE STATUS\G 確認 Slave_IO_Running: Yes、Slave_SQL_Running: Yes。

驗證複製

-- 主庫
CREATE DATABASE test;
USE test;
CREATE TABLE t (id INT);
INSERT INTO t VALUES (1);
-- 從庫
USE test;
SELECT * FROM t;  -- 應返回 1

常見故障:Could not find first log file name in binary log index file

原因:主從數據不一致(如從庫手動改過數據、或重新搭建未同步位點)。

修復步驟:

  1. 從庫 STOP SLAVE;
  2. 主庫 FLUSH LOGS; 產生新 binlog。
  3. 主庫 SHOW MASTER STATUS; 取新 File、Position。
  4. 從庫 CHANGE MASTER TO MASTER_LOG_FILE='...', MASTER_LOG_POS=...;
  5. START SLAVE;

生產建議

  • MySQL 5.6+ **強烈建議啟用 GTID 模式**(gtid_mode=ON),自動定位同步點,運維更簡單。
  • 監控 Seconds_Behind_Master、Slave_IO_Running、Slave_SQL_Running 三大核心指標。
  • 從庫設 read_only=1 防誤寫入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved