新闻中心

mysql如何搭建多主复制_mysql多主复制搭建方法

2025-11-30
浏览次数:
返回列表
通过配置MySQL双节点环形复制,设置唯一server-id、开启GTID与binlog,并调整auto-increment-offset避免主键冲突;2. 在各节点创建复制用户并授权;3. 使用CHANGE MASTER TO建立双向复制通道并启动同步;4. 检查Sl*e_IO_Running和Sl*e_SQL_Running状态确保复制正常;5. 注意避免并发写入同一数据、谨慎执行DDL操作,防止冲突导致复制中断。

mysql如何搭建多主复制_mysql多主复制搭建方法

MySQL多主复制(Multi-Master Replication)可以让多个数据库节点互相作为主库,实现双向或环形数据同步。这种架构适合需要高可用、读写分离和跨地域部署的场景。下面介绍基于MySQL原生复制的环形多主搭建方法(以两个节点为例),不依赖第三方中间件。

1. 环境准备与配置要求

确保两台服务器已安装MySQL(建议版本一致,如MySQL 8.0),并能通过网络互通。例如:

  • Node A:IP 192.168.1.10,server-id=1
  • Node B:IP 192.168.1.20,server-id=2

每台MySQL需开启二进制日志(binlog)、指定唯一server-id,并启用中继日志和GTID(推荐)。修改my.cnf配置文件:

Node A 配置片段:

[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
gtid-mode = ON
enforce-gtid-consistency = ON
log-sl*e-updates = ON
relay-log = relay-log
auto-increment-increment = 2
auto-increment-offset = 1

Node B 配置片段:

[mysqld]
server-id = 2
log-bin = mysql-bin
binlog-format = ROW
gtid-mode = ON
enforce-gtid-consistency = ON
log-sl*e-updates = ON
relay-log = relay-log
auto-increment-increment = 2
auto-increment-offset = 2

说明: auto-increment设置是为了避免自增主键冲突。Node A生成奇数(1,3,5...),Node B生成偶数(2,4,6...)。

2. 创建复制用户

在每个节点上创建用于复制的账户:

登录Node A执行:

CREATE USER 'repl'@'192.168.1.20' IDENTIFIED BY 'password';
GRANT REPLICATION SL*E ON *.* TO 'repl'@'192.168.1.20';
FLUSH PRIVILEGES;

登录Node B执行:

CREATE USER 'repl'@'192.168.1.10' IDENTIFIED BY 'password';
GRANT REPLICATION SL*E ON *.* TO 'repl'@'192.168.1.10';
FLUSH PRIVILEGES;

3. 配置主从关系(双向)

使用CHANGE MASTER TO命令建立互为主从的关系。

UXbot UXbot

AI产品设计工具

UXbot 185 查看详情 UXbot

在Node A上执行,指向Node B:

CHANGE MASTER TO
MASTER_HOST='192.168.1.20',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1
FOR CHANNEL 'master-B';

在Node B上执行,指向Node A:

CHANGE MASTER TO
MASTER_HOST='192.168.1.10',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1
FOR CHANNEL 'master-A';

启动复制:

START SL*E FOR CHANNEL 'master-B'; (Node A执行)
START SL*E FOR CHANNEL 'master-A'; (Node B执行)

4. 检查复制状态

查看复制是否正常运行:

SHOW SL*E STATUS FOR CHANNEL 'master-B'\G (Node A)
SHOW SL*E STATUS FOR CHANNEL 'master-A'\G (Node B)

重点关注以下字段:

  • Sl*e_IO_Running: Yes
  • Sl*e_SQL_Running: Yes
  • Last_Error: (应为空)
  • Retrieved_Gtid_Set / Executed_Gtid_Set: 有更新表示同步生效

5. 注意事项与限制

多主复制虽然提升了可用性,但存在一些风险和限制:

  • 避免同一行数据在两个节点同时更新,否则可能引发冲突导致复制中断。
  • DDL操作(如ALTER TABLE)需谨慎,建议停写或在单一节点执行。
  • 网络延迟可能导致数据不一致,建议监控复制延迟。
  • 故障恢复复杂,需人工介入处理冲突事务。

生产环境可考虑使用MHA、PXC(Percona XtraDB Cluster)或MySQL InnoDB Cluster来提升稳定性和自动化能力。

基本上就这些。按步骤操作,确保配置准确,多主复制可以稳定运行。关键是预防主键冲突和避免并发写入同一数据。

以上就是mysql如何搭建多主复制_mysql多主复制搭建方法的详细内容,更多请关注其它相关文章!


# 解决问题  # 推广广告词的网站  # seo可以做网站优化吗  # 实时采集关键词排名软件  # 网站推广哪里好  # 即墨网站建设值得信赖  # 28网站建设  # 网站推广优化报价公司  # 保健品营销推广方式  # 推广营销实战案例  # 做网站推广计划  # 并能  # 为例  # mysql搭建  # 中文网  # 相关文章  # 可用性  # 访问控制  # 主键  # 多个  # 安装mysql  # 配置文件  # ssl  # node  # word  # mysql 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】  Lar*el 8 多关键词数据库搜索优化实践  ExcelARRAYTOTEXT函数怎么自定义分隔符输出数组文本_ARRAYTOTEXT实现动态生成SQL语句  纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析  PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践  EMS快递官网app_中国邮政速递物流手机客户端  c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换  如何创建没有密码的Windows本地账户_跳过微软账户登录的技巧【教程】  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit  12306选座系统怎么选连座_12306选座多人连坐操作方法  抖音极速版最新版本 抖音极速版官方下载地址  zookeeper 都有哪些功能?  解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException  在J*a中如何在J*a中使用异常机制记录错误日志_异常日志实践经验  新三国志曹操传110级星符试炼夏侯渊极难攻略  J*aScriptWebpack优化_J*aScript构建工具实战  MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略  Safari自带网页翻译功能怎么用 无需插件轻松看懂外文网站【方法】  Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性  windows10怎么查看硬盘序列号_windows10硬盘id查询命令  抖音商城签到领现金是真的吗_抖音商城签到奖励与提现说明  python3时间如何用calendar输出?  HTML空白字符处理机制:渲染、DOM与编码实践  谷歌邮箱注册显示错误Gmail服务器异常与延迟处理  J*aScript生成器_j*ascript异步迭代  steam官方网页快速访问 steam账号注册全流程  Python多线程中正确使用sigwait处理SIGALRM信号  汽水音乐网页版使用入口_汽水音乐电脑版播放指南  晋江读书网页版在线登录 晋江读书电脑版官网  LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理  深入理解J*a编译器的兼容性选项:从-source到--release  谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版  如何使用 Excel 发布器与 Power BI 分享 Excel 洞察  Bing引擎入口最新2025 Bing搜索免费官方登录  韩剧圈正版入口页面_韩剧圈官网登录链接  mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤  谷歌google账号注册详细步骤 谷歌账号注册官方教程  限制HTML日期输入框的日期选择范围  PHP中高效并行检查多链接状态的教程  支付宝如何设置安全保护_支付宝安全设置的全面教程  qq邮箱发邮件给国外发不出去_QQ邮箱国际邮件发送失败原因与解决  AO3最新镜像入口 Archive of Our Own官方平台访问  优化 Python 函数中的条件逻辑:解决 if-else 嵌套与参数选择问题  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  React Hooks最佳实践:动态组件状态管理的组件化方案  Golang如何优化CPU绑定任务分配策略_Golang CPU任务分配优化实践  夸克浏览器桌面版同步不了书签怎么处理 夸克浏览器跨设备同步异常解决方案  Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】 

搜索