讲师中心 微信公众号
AI工具推荐 视频效率加速

在云服务器ECS上如何配置跨区域MySQL主从复制

秋辰大大_4435

秋辰大大_4435

发布时间:2026-09-28 15:43:29

|

795人浏览过

|

来源于php中文网

原创

跨区域MySQL主从复制可行但需规避公网直连、DNS解析延迟和防火墙策略;必须禁用skip_name_resolve、绑定公网IP、使用mysql_native_password认证,并配置max_binlog_size、slave_net_timeout及relay_log_recovery等参数保障稳定性。

在云服务器ecs上如何配置跨区域mysql主从复制

云服务器 ECS 上跨区域 MySQL 主从复制能做,但必须绕开公网直连、DNS 解析延迟和防火墙策略这三道坎;直接填公网 IP + 开放 3306 端口是最常见失败原因。

为什么不能直接用公网 IP 配置 MASTER_HOST

跨区域(比如华东1 → 华北2)ECS 之间默认不互通内网,若主库在华东1、从库在华北2,两者公网 IP 虽可通,但:
• MySQL 的 CHANGE MASTER TO 会尝试反向解析从库主机名(除非显式禁用),而跨区域 DNS 不一致或超时会导致 Connecting 卡死
• 阿里云/腾讯云等平台对公网 3306 端口有主动限流或拦截策略,连接可能被随机中断
• 没有 TLS 加密时,binlog 传输明文暴露风险极高

无序列表:
• 必须关闭主从双方的 skip_name_resolve=ON(写进 my.cnf 的 [mysqld] 段)
• 主库需绑定 0.0.0.0 或具体公网 IP,并确认安全组放行 3306 入方向(仅限从库公网 IP)
• 从库连接主库时,MASTER_HOST 必须填主库**实际可达的公网 IP**,不能填域名或内网地址
• 强烈建议主库创建账号时用 mysql_native_password 插件(MySQL 8.0 默认的 caching_sha2_password 在跨网络握手时易超时)

如何让 binlog 传输在跨区域链路上稳定

公网带宽波动、TCP 重传、MTU 不一致都会导致 relay log 中断或错位。关键不是“能不能传”,而是“断了之后怎么续”。

无序列表:
• 主库配置中必须加 max_binlog_size=100M(避免单个 binlog 过大,降低传输失败概率)
• 从库配置中加 slave_net_timeout=60(默认 3600 秒太长,网络抖动后恢复慢)
• 启用 relay_log_recovery=ON(从库崩溃重启后自动丢弃损坏 relay log 并重拉)
• 不要设 binlog-do-db —— 跨区域场景下数据库名大小写、字符集微小差异易引发过滤漏同步

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

从库启动复制时 MASTER_LOG_POS 总是报错

报错典型如 Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file',本质是主库 binlog 文件已被清理,或从库记录的位置已失效。

无序列表:
• 执行 SHOW MASTER STATUS 前,先在主库运行 FLUSH LOGS,确保当前 binlog 处于活跃写入状态
• 记录 File 和 Position 后,立即导出主库快照(mysqldump --single-transaction --master-data=2),再把 dump 导入从库,避免位置漂移
• 若主库已有数据且未提前锁表,不要依赖 SHOW MASTER STATUS 的瞬时值,改用 dump 输出里的 CHANGE MASTER TO 语句(它自带精确坐标)
• 从库执行 CHANGE MASTER TO 后,务必检查 Seconds_Behind_Master 是否为 NULL(表示 IO 线程未启动)或 0(正常)

验证复制是否真正生效的硬指标

只查 SHOW SLAVE STATUS\G 里的 Slave_IO_Running 和 Slave_SQL_Running 都为 Yes 不够——跨区域链路下,SQL 线程可能卡在某条 DDL 上长时间不动。

无序列表:
• 在主库执行 INSERT INTO test_replica (ts) VALUES (NOW());(建个最小测试表)
• 等待 5 秒后,立刻在从库查 SELECT * FROM test_replica ORDER BY ts DESC LIMIT 1;,比对时间戳误差是否 • 查 SHOW SLAVE STATUS\G 中的 Exec_Master_Log_Pos,对比主库当前 Position,差值应 • 如果 Seconds_Behind_Master 长期 > 60,优先检查从库磁盘 I/O(iostat -x 1)而非网络

跨区域主从最脆弱的环节不在配置,而在 binlog 传输中途被运营商劫持重置 TCP 连接——所以永远不要省略 relay_log_recovery=ON 和定期校验 Exec_Master_Log_Pos 偏移量。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

437

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

860

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2572

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

876

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

769

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

394

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2316

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

4272

2023.10.20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

0

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 177人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 282人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn