VPS海外环境MySQL读写分离架构搭建指南
文章分类:行业新闻 /
创建时间:2025-10-21
VPS海外环境MySQL读写分离架构搭建指南
在VPS海外环境中,搭建MySQL读写分离架构能显著提升数据库性能与可用性。通过将写操作集中到主库、读操作分散至从库,可有效缓解单库压力,满足高并发场景需求。以下是具体搭建步骤。
环境准备
搭建前需确保已具备基础环境:一台可用的VPS海外服务器(推荐配置2核4G以上),已安装MySQL数据库(版本建议5.7及以上),操作系统选择CentOS或Ubuntu等主流Linux发行版。同时需开放MySQL默认端口3306及后续中间件使用的8066端口,确保网络通信正常。
主从复制配置
主从复制是读写分离的基础,需先完成主库与从库的同步设置。
**主库配置**
登录主服务器,编辑MySQL配置文件(CentOS路径为/etc/my.cnf,Ubuntu为/etc/mysql/mysql.conf.d/mysqld.cnf),添加以下内容:
server-id = 1 # 唯一标识主库
log-bin = mysql-bin # 开启二进制日志
binlog-do-db = test_db # 指定需要同步的数据库(按需替换)
保存后重启MySQL服务(命令:systemctl restart mysql)。
接着创建用于复制的专用用户并授权:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'Repl@123'; # 替换为强密码
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS; # 记录输出的File(如mysql-bin.000001)和Position(如154)值
**从库配置**
登录从服务器,编辑MySQL配置文件,设置不同的server-id(如2),重启服务后执行以下命令:
CHANGE MASTER TO
MASTER_HOST='主库IP', # 替换为主库公网IP
MASTER_USER='repl_user',
MASTER_PASSWORD='Repl@123', # 与主库设置的密码一致
MASTER_LOG_FILE='mysql-bin.000001', # 替换为主库记录的File值
MASTER_LOG_POS=154; # 替换为主库记录的Position值
START SLAVE;
SHOW SLAVE STATUS\G # 检查Slave_IO_Running和Slave_SQL_Running是否均为Yes
若两项状态均为Yes,说明主从复制配置成功。
读写分离中间件部署(以MyCat为例)
MyCat是一款开源MySQL中间件,可实现读写请求自动分发。以下是部署步骤:
**安装与配置**
在VPS海外服务器下载MyCat安装包并解压(具体下载方式可参考官方文档),进入conf目录编辑关键配置文件。
编辑server.xml配置访问用户:
Mycat@123
test_db
编辑schema.xml配置数据源与读写规则:
select 1
select 1
其中balance=3表示读请求均匀分配至从库,writeType=0表示写请求仅发往主库。
**启动与验证**
进入MyCat的bin目录,执行./mycat start启动服务(默认监听8066端口)。
测试与验证
通过以下步骤验证读写分离是否生效:
1. 连接MyCat服务:mysql -h VPS海外服务器IP -P 8066 -u mycat_user -pMycat@123
2. 执行写操作:INSERT INTO test_table (name) VALUES ('测试数据');
3. 执行读操作:SELECT * FROM test_table;
观察主库与从库的慢查询日志(或通过SHOW PROCESSLIST命令),确认写操作仅在主库执行,读操作在从库执行,即表示读写分离配置成功。
通过以上步骤,可在VPS海外环境中完成MySQL读写分离架构搭建,有效提升数据库的并发处理能力与稳定性,满足全球化业务的高可用需求。