VPS服务器上MySQL 8.0主从配置全流程指南
文章分类:更新公告 /
创建时间:2025-09-17
在数据库管理场景中,MySQL 8.0的主从配置是提升数据可用性与读写性能的关键手段。借助VPS服务器运行这一配置,既能实现读写分离,又能为数据备份提供保障。本文将详细拆解在VPS服务器上完成MySQL 8.0主从配置的全流程。
环境准备:两台VPS服务器的基础条件
配置前需准备两台独立的VPS服务器——一台作为主服务器(Master)负责数据写入,另一台作为从服务器(Slave)承担数据同步与读取任务。首先确认两台服务器均已安装MySQL 8.0,可通过命令`mysql -V`检查版本;其次确保网络连通,防火墙需开放MySQL默认端口3306(若修改过端口则开放对应端口)。
主服务器配置:开启日志与同步权限
主服务器的核心配置是开启二进制日志并创建同步账号。编辑MySQL配置文件(通常路径为`/etc/mysql/mysql.conf.d/mysqld.cnf`),添加以下参数:
server-id = 1 # 主服务器唯一标识,需为正整数
log-bin = mysql-bin # 启用二进制日志,记录数据变更操作
binlog-do-db = your_database_name # 指定需要同步的数据库名(如test_db)
修改后重启MySQL服务:`sudo systemctl restart mysql`。
接着创建同步专用账号,执行SQL命令:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'your_password'; # 创建可远程访问的用户
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%'; # 授予复制权限
FLUSH PRIVILEGES; # 刷新权限生效
最后执行`SHOW MASTER STATUS;`,记录输出的`File`(如mysql-bin.000001)和`Position`(如156)值,这是从服务器同步的起点。
从服务器配置:关联主库与启动同步
从服务器需先完成基础配置。编辑其MySQL配置文件,添加:
server-id = 2 # 需与主服务器不同
relay-log = mysql-relay-bin # 存储主服务器传来的日志
log-bin = mysql-bin # 可选:开启自身二进制日志(用于级联复制或进一步扩展)
同样重启MySQL服务后,执行同步关联命令:
CHANGE MASTER TO
MASTER_HOST='master_server_ip', # 主服务器公网IP
MASTER_USER='repl_user', # 前面创建的同步用户
MASTER_PASSWORD='your_password', # 用户密码
MASTER_LOG_FILE='mysql-bin.000001', # 主服务器的File值
MASTER_LOG_POS=156; # 主服务器的Position值
完成后启动同步进程:`START SLAVE;`。通过`SHOW SLAVE STATUS\G`检查状态,若`Slave_IO_Running`和`Slave_SQL_Running`均为`Yes`,则表示同步正常。
配置验证:数据同步效果实测
在主服务器执行数据写入操作测试同步效果。例如:
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE test_table (id INT, name VARCHAR(20));
INSERT INTO test_table VALUES (1, 'test_data');
等待1-2分钟后,登录从服务器查询:
SHOW DATABASES; # 应显示test_db
USE test_db;
SELECT * FROM test_table; # 应显示(1, 'test_data')
若数据一致,则主从配置成功。
通过以上步骤,可在VPS服务器上快速搭建MySQL 8.0主从复制架构。这一方案不仅能分担主库读写压力,还能在主库故障时通过从库快速恢复业务,是企业级数据库高可用部署的基础配置。实际应用中需定期检查同步状态,并根据业务量调整VPS服务器的CPU、内存资源,确保数据同步的稳定性与效率。
上一篇: 云服务器日志盘满报错5步修复实战指南