配置mysql主从复制需先在Master启用二进制日志并创建复制账号,记录日志文件和位置;再在Slave设置唯一server-id并执行CHANGE MASTER TO指向Master,启动复制后通过SHOW SLAVE STATUS确认Slave_IO_Running和Slave_SQL_Running均为Yes即成功。

配置MySQL的Slave服务器主要是为了实现主从复制(Replication),让数据从Master节点自动同步到Slave节点,提升读性能、备份效率和高可用性。以下是详细的配置步骤。
1. 配置Master服务器
在开始配置Slave前,必须先确保Master已正确设置。
- 编辑Master的
my.cnf或my.ini配置文件,启用二进制日志并设置唯一的server-id:
[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
- 重启MySQL服务使配置生效。
- 登录MySQL,创建用于复制的账号:
CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password‘;
GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
2. 配置Slave服务器
接下来在Slave服务器上进行配置。
[mysqld]
server-id = 2
- 可选:开启relay log用于故障排查:
relay-log = mysql-relay-bin
- 重启Slave的MySQL服务。
- 如果Master已有数据,需先将数据完整备份并导入到Slave中(使用mysqldump或物理备份工具)。
3. 启动主从复制
- 在Slave上执行CHANGE MASTER TO命令,填入Master的信息:
CHANGE MASTER TO
MASTER_HOST=’master_ip_address’,
MASTER_USER=’repl’,
MASTER_PASSword=’password’,
MASTER_LOG_FILE=’mysql-bin.000001′,
MASTER_LOG_POS= 154;
- 启动复制:
START SLAVE;
4. 检查复制状态
确认复制是否正常运行。
- 查看Slave状态:
SHOW SLAVE STATUSG
- 重点关注以下两个字段:
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- 若都为Yes,说明复制正常;如果有错误,检查网络、权限、日志位置等。
基本上就这些。只要Master和Slave网络通、账号权限对、日志位置准,复制就能跑起来。定期查看SHOW SLAVE STATUS有助于及时发现延迟或中断问题。


