vps海外环境MySQL 5.7主从复制配置全流程指南
在vps海外环境部署MySQL 5.7主从复制,既能提升数据可用性又能优化读写性能。本文从环境搭建到实战配置,结合海外网络特性拆解关键步骤,助你高效完成部署。
环境准备:两台vps海外服务器的基础配置
部署主从复制需要至少两台独立的vps海外服务器,一台作为主库(Master)承担写操作,另一台作为从库(Slave)同步数据并分担读请求。首先需确保两台服务器均安装MySQL 5.7,可通过系统包管理器(如yum/apt)或官方安装包完成安装。安装后执行`systemctl start mysql`启动服务,并用`systemctl status mysql`确认运行状态正常。
主库配置:开启二进制日志与权限设置
主库是数据写入源头,核心配置是开启二进制日志(Binlog)并设置唯一标识。编辑`/etc/my.cnf`(或`/etc/mysql/mysql.conf.d/mysqld.cnf`,视系统而定),在`[mysqld]`段添加:
server-id = 1 # 全局唯一ID,主库建议设为1
log-bin = mysql-bin # 开启二进制日志,文件前缀为mysql-bin
binlog-do-db = demo_db # 指定需要复制的数据库(可选,不设置则复制所有库)
保存后重启MySQL服务:`systemctl restart mysql`。
接下来创建复制专用账号。登录MySQL客户端执行:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'Repl@2024';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
最后执行`SHOW MASTER STATUS;`获取当前二进制日志信息,记录`File`(如mysql-bin.000001)和`Position`(如154)的值,后续从库配置需要用到。
从库配置:关联主库与启动复制
从库需先设置唯一ID。编辑`my.cnf`的`[mysqld]`段:
server-id = 2 # 必须与主库不同,从库建议设为2或更大的整数
重启MySQL服务后登录客户端,执行关联主库的关键命令:
CHANGE MASTER TO
MASTER_HOST='主库公网IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='Repl@2024',
MASTER_LOG_FILE='mysql-bin.000001', # 替换为主库SHOW MASTER STATUS的File值
MASTER_LOG_POS=154; # 替换为主库SHOW MASTER STATUS的Position值
完成关联后启动复制进程:`START SLAVE;`。通过`SHOW SLAVE STATUS\G`检查状态,若`Slave_IO_Running`和`Slave_SQL_Running`均为`Yes`,则表示配置成功。
vps海外部署:网络与环境的特殊考量
vps海外环境的跨地域特性需重点关注两点:
1. 网络稳定性:主从数据同步依赖TCP协议,建议选择支持全球CDN加速的vps海外主机,降低跨洲延迟。同时检查防火墙规则,确保3306端口对主从服务器双向开放(可通过`iptables`或云厂商安全组配置)。
2. 环境一致性:海外服务器可能默认时区(如UTC)与国内业务时区(如+08:00)不一致,需在主从库的`my.cnf`中统一设置:
[mysqld]
default-time-zone = '+08:00'
character-set-server = utf8mb4 # 避免中文乱码
collation-server = utf8mb4_unicode_ci
实际部署中,可根据业务数据量选择vps海外服务器配置:日均写入量10GB以下建议2核4G配置,10GB以上可升级至4核8G,确保主库性能足够支撑写操作,从库同步延迟控制在1秒内。
掌握这些要点,即使在vps海外环境中,也能快速搭建稳定的MySQL主从复制架构,为业务的高可用和读写分离打下坚实基础。