| 角色 | IP | 版本 |
|---|---|---|
| Master | 192.168.0.205 | MySQL 4.1 |
| Slave | 192.168.0.206 | MySQL 4.1 |
/etc/my.cnf[mysqld]
server-id = 1
log-bin = binlog_name
GRANT REPLICATION SLAVE, RELOAD, SUPER ON *.*
TO 'slave'@'192.168.0.206' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
/opt/mysql/bin/mysql -u slave -p -h 192.168.0.205
確認網路通、帳號權限正確。
/etc/my.cnf[mysqld]
server-id = 2
master-host = 192.168.0.205
master-user = slave
master-password = 123456
/opt/mysql/share/mysql/mysql.server start/opt/mysql/bin/mysql -u root -pLOAD DATA FROM MASTER;mysqldump --master-data=2 匯入,或直接複製資料目錄(需鎖表)-- Master 建表插入
CREATE DATABASE sampdb;
USE sampdb;
CREATE TABLE new (name CHAR(20), phone CHAR(20));
INSERT INTO new VALUES ('abc', '0532555555');
-- Slave 查看
SHOW DATABASES; -- 應見 sampdb
USE sampdb;
SHOW TABLES; -- 應見 new
SELECT * FROM new; -- 應見資料
| 操作 | 指令 |
|---|---|
| 啟動/停止複寫 | SLAVE START; / SLAVE STOP; |
| 查看複寫狀態 | SHOW SLAVE STATUS\G; |
| 清理 Master 舊 Binlog | PURGE MASTER LOGS TO 'binlog.000004';(謹慎) |
| 動態變更 Master | CHANGE MASTER TO MASTER_HOST='...', MASTER_LOG_FILE='...', MASTER_LOG_POS=...; |
LOAD DATA FROM MASTER 會鎖表,大庫建議用 mysqldump --single-transaction --master-data=2 熱備份Seconds_Behind_Master 持續 > 0 需告警排查遵循標準化部署流程,配合監控與定期演練,打造高可用 MySQL 主從架構。