Linux云服务器配置MySQL主从复制完整指南
在当今数据驱动的时代,数据库高可用性已成为企业IT架构的核心需求。本文将详细介绍在Linux云服务器环境下配置MySQL主从复制的完整流程,帮助您构建稳定可靠的数据备份方案。
一、准备工作
在开始配置前,请确保您已准备:
- 两台Linux云服务器(推荐CentOS 7+/Ubuntu 18.04+)
- MySQL 5.7或更高版本已安装
- 服务器间网络互通(建议配置内网连接)
- root或具有sudo权限的用户
二、主服务器配置
1. 修改MySQL配置文件
sudo vim /etc/mysql/my.cnf # 在[mysqld]段添加以下配置: server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = 需要复制的数据库名 binlog_format = ROW
2. 创建复制专用账户
mysql> CREATE USER 'replica'@'从服务器IP' IDENTIFIED BY '强密码'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'replica'@'从服务器IP'; mysql> FLUSH PRIVILEGES;
三、从服务器配置
1. 修改MySQL配置
sudo vim /etc/mysql/my.cnf # 在[mysqld]段添加: server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin log_bin = /var/log/mysql/mysql-bin.log
2. 配置复制链路
mysql> CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replica',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=位置值;
四、验证与监控
1. 启动复制进程
mysql> START SLAVE; mysql> SHOW SLAVE STATUS\G
2. 关键监控指标
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- Seconds_Behind_Master: 应接近于0
五、常见问题解决
1. 复制中断处理
当出现复制错误时,可尝试:
mysql> STOP SLAVE; mysql> SET GLOBAL sql_slave_skip_counter = 1; mysql> START SLAVE;
2. 网络问题排查
使用telnet测试3306端口连通性:
telnet 主服务器IP 3306
通过本文详细的步骤指导,您应该已经成功在Linux云服务器上配置了MySQL主从复制。定期检查复制状态和性能指标,可以确保数据同步的可靠性。对于生产环境,建议进一步配置复制监控告警系统。
