MySQL复制功能可以实现主从数据库之间的数据同步,常用于读写分离、数据备份和高可用架构。要安装并配置MySQL复制功能,需在主服务器(Master)和从服务器(Slave)上进行设置。以下是具体操作步骤。
1. 配置主服务器(Master)
要启用复制,首先需要在主服务器的配置文件中开启二进制日志,并设置唯一的服务器ID。
编辑MySQL配置文件 my.cnf(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf):[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
systemctl restart mysqld
登录MySQL,创建用于复制的账户并授权:CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
2. 配置从服务器(Slave)
从服务器也需要设置唯一的server-id,并连接到主服务器开始复制。
编辑从服务器的 my.cnf 文件:[mysqld]
server-id = 2
systemctl restart mysqld
登录MySQL,执行CHANGE MASTER TO命令,配置主服务器信息:CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='repl',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 154;
START SLAVE;
3. 验证复制是否正常
在从服务器上运行以下命令检查复制状态:
SHOW SLAVE STATUS\G
重点关注以下两个字段: Slave_IO_Running: Yes Slave_SQL_Running: Yes 如果均为Yes,说明复制正常运行。 若出现错误,可查看Last_Error字段排查问题。4. 注意事项与常见问题
主从服务器时间应保持同步,建议使用NTP服务。 确保主从服务器的server-id不重复。 防火墙需开放主服务器的3306端口,允许从服务器访问。 首次配置时,若主库已有数据,需先通过mysqldump导出数据并导入从库,避免数据不一致。基本上就这些。只要配置正确,MySQL复制就能稳定运行。
