答案:MySQL 复制需配置主从服务器的 server-id 和二进制日志,创建复制用户,设置 CHANGE MASTER TO 并启动 SLAVE,最后检查 Slave_IO_Running 和 Slave_SQL_Running 为 Yes 以确认正常运行。

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
- 重启 MySQL 服务使配置生效:
systemctl restart mysqld
- 登录 MySQL,创建用于复制的账户并授权:
CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘your_password‘;
GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
FLUSH PRIVILEGES;
- 查看主服务器当前二进制日志状态,记录 File 和 Position 值,后续从服务器会用到:
SHOW MASTER STATUS;
2. 配置从服务器(Slave)
从服务器也需要设置唯一的 server-id,并连接到主服务器开始复制。
- 编辑从服务器的 my.cnf 文件:
[mysqld]
server-id = 2
- 重启 MySQL 服务:
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 STATUSG
- 重点关注以下两个字段:
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- 如果均为 Yes,说明复制正常运行。
- 若出现错误,可查看 Last_Error 字段排查问题。
4. 注意事项与 常见问题
- 主从服务器时间应保持同步,建议使用 NTP 服务。
- 确保主从服务器的 server-id 不重复。
- 防火墙 需开放主服务器的 3306端口,允许从服务器访问。
- 首次配置时,若主库已有数据,需先通过 mysqldump 导出数据并导入从库,避免数据不一致。
基本上就这些。只要配置正确,MySQL 复制就能稳定运行。