vps海外环境MySQL 8.0主从同步参数配置详解
文章分类:更新公告 /
创建时间:2026-01-16
简单来说,MySQL主从同步就像两个记录员——主服务器负责实时记录所有数据变化(比如新增订单、修改用户信息),从服务器则跟着复制这些记录。在vps海外环境中搭建这样的同步系统,参数配置是关键一步,直接影响数据一致性和业务读写效率。
主服务器核心参数设置
主服务器是数据变更的源头,需要先配置几个关键参数。打开MySQL配置文件(通常是my.cnf或my.ini),重点调整以下内容:
1. **server-id(服务器唯一标识)**:每个MySQL实例必须有唯一的“身份证号”,主服务器建议设为1(例如“server-id = 1”)。如果多台服务器共用同一网络,这个数值绝对不能重复,否则会引发同步冲突。
2. **log-bin(二进制日志开关)**:这是主从同步的“数据日记本”,所有数据修改操作(增删改)都会被记录到二进制日志里。添加“log-bin = mysql-bin”后,主服务器会生成类似mysql-bin.000001的日志文件,从服务器靠它复制数据。
3. **binlog-do-db(指定同步数据库)**:如果只需要同步特定数据库(比如业务库“shop_db”),可以用这个参数过滤。例如“binlog-do-db = shop_db”,未指定的数据库变更不会被记录到日志,减少同步压力。
从服务器关键参数调整
从服务器的任务是“抄作业”,需要配置接收和执行日志的参数:
1. **server-id(从服务器唯一标识)**:同样需要唯一值,且不能和主服务器重复。比如主服务器是1,从服务器可以设为2(“server-id = 2”)。
2. **relay-log(中继日志)**:从服务器收到主服务器的二进制日志后,会先存到中继日志里再执行。设置“relay-log = mysql-relay-bin”,生成类似mysql-relay-bin.000001的文件,记录待执行的操作。
3. **read-only(只读模式)**:为了避免误操作修改从服务器数据(比如测试时手滑写入),必须开启只读模式。添加“read-only = 1”后,除了同步进程,其他用户无法执行写操作,保障数据一致性。
主从连接与同步启动
完成参数配置后,需要让从服务器“认识”主服务器,并开始复制数据:
1. **主服务器创建同步用户**:在主服务器执行以下SQL,创建一个专门用于同步的账号(注意替换密码):
CREATE USER'slave_user'@'%' IDENTIFIED BY 'YourPassword123';
GRANT REPLICATION SLAVE ON *.* TO'slave_user'@'%';
FLUSH PRIVILEGES;
这相当于给从服务器发了一张“访问通行证”,允许它读取主服务器的二进制日志。
2. **从服务器配置连接信息**:在从服务器执行连接命令(替换主服务器IP、日志名和位置):
CHANGE MASTER TO
MASTER_HOST = '主服务器公网IP',
MASTER_USER ='slave_user',
MASTER_PASSWORD = 'YourPassword123',
MASTER_LOG_FILE = 'mysql-bin.000001', -- 主服务器当前二进制日志文件名
MASTER_LOG_POS = 154; -- 主服务器当前日志位置(通过SHOW MASTER STATUS获取)
执行后输入“START SLAVE;”启动同步进程。
验证同步是否正常
最后一步是检查同步状态。在从服务器执行“SHOW SLAVE STATUS\G”,重点看两个关键状态:
- **Slave_IO_Running**:显示“Yes”表示从服务器成功连接主服务器并读取日志;
- **Slave_SQL_Running**:显示“Yes”表示从服务器正在执行中继日志里的操作。
两个状态都为“Yes”,说明主从同步已正常工作。如果显示“Connecting”或“No”,可能是IP填写错误、密码不对,或主服务器防火墙没放行3306端口(vps海外服务器需检查安全组规则)。
在vps海外环境搭建MySQL 8.0主从同步,核心是理解每个参数的作用——主服务器负责记录日志,从服务器负责复制执行。通过正确设置唯一标识、开启日志功能、配置连接信息,再验证同步状态,就能快速搭建出高可用的数据库同步系统,为业务读写分离和数据备份提供可靠支持。
工信部备案:苏ICP备2025168537号-1