MySQL 是否可以实现 N-master => 1-slave 复制?

2023-11-22

我想制作一台专用的从机,用于三个不同服务器上三个数据库的数据复制。换句话说,我想做多主=>单从复制。

有没有办法做到这一点,尽可能简单?

Thanks !


MySQL 不支持多主复制(一个从站有多个主站)(MySQL Cluster 除外)。您可以对循环(环)复制进行主-主复制(已描述)here or here).

In 高性能MySQL第二版作者描述了一种模拟多主复制的方法,该方法巧妙地结合了主-主复制和Blackhole存储引擎(第 8 章“复制”>“复制拓扑”>“自定义复制解决方案”>“模拟多主复制”)373 - 375).

它们显示了两种可能的拓扑:

使用两个共同大师(允许从主设备切换从设备Master 1 to Master 2)

  • 大师1: hosts DB1并复制DB2 from Master 2;所有表的存储引擎DB2更改为Blackhole使数据不能有效地存储在Master 1.
  • 大师2: hosts DB2并复制DB1 from Master 1;所有表的存储引擎DB1更改为Blackhole使数据不能有效地存储在Master 2
  • Slave 1:重复DB1 and DB2从任一Master 1 or Master 2(允许切换主机);结果是Slave 1复制有效托管在两个不同主服务器上的两个数据库。

使用主链

  • 大师1:仅主机DB1
  • 大师2: hosts DB2并复制DB1 from Master 1;所有表的存储引擎DB1更改为Blackhole使数据不能有效地存储在Master 2
  • Slave 1:重复DB1 and DB2 from Master 2;结果是Slave 1复制有效托管在两个不同主服务器上的两个数据库。

请注意,此设置仅允许您将更新发送到DB1通过Master 1并更新至DB2 to Master 2. You cannot将任一表的更新发送给任意主设备。

也许可以将所描述的解决方案与真正的主主复制(允许更新两个主服务器)结合起来,该复制使用某种自动增量修改并进行了描述here or here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 是否可以实现 N-master => 1-slave 复制? 的相关文章

  • SQL 按计数排序

    如果我有一个表和这样的数据 ID Name Group 1 Apple A 2 Boy A 3 Cat B 4 Dog C 5 Elep C 6 Fish C 我希望根据 Group 的总和从小到大进行排序 例如 A 2条记录 B 1条记录
  • 我应该如何审核 MySQL 表中的更改(使用 MySQL 4)?

    我被要求审核 MySQL 表中的任何 所有更改 有谁知道有什么工具可以帮助我做到这一点 还是我需要编写自己的解决方案 如果我编写自己的审计 我最初的想法是制作一个单独的表并在 PHP 代码中构建一系列更改 类似 fieldname1 gt
  • 在shell命令行中创建mysql触发器

    我需要在命令行中创建一个mysql触发器 这个sql在mysql控制台中运行良好 sql USE DB1 DROP TRIGGER IF EXISTS my trigger DELIMITER CREATE TRIGGER my trigg
  • 如何从 MySQL 中的布尔类型返回不同的字符串?

    如果我在 MySql 中将一列设置为布尔值 则查询将返回以下值 0 or 1 是否可以做这样的事情 SELECT bool value AS yes OR no 我的意思是 根据真假返回两个不同的字符串 SELECT CASE WHEN b
  • 为 java 项目创建安装

    我创建了一个 java 项目 它使用数据库来检索 编辑和保存数据 我使用 Netbeans 完成了该项目 现在我想在该项目之外创建一个安装 为此 我想包含与项目一起安装的数据库 我用来连接数据库的代码是 Class forName com
  • 如何比较行内的重叠值?

    我似乎对这个 SQL 查询有问题 SELECT FROM appts WHERE timeStart gt timeStart AND timeEnd lt timeEnd AND dayappt boatdate 时间格式为军用时间 物流
  • 打印表数据mysql php

    我在尝试打印表格的一些数据时遇到问题 我是 php mysql 的新手 但我认为我的代码是正确的 这里是 h1 Lista de usu rios h1
  • 维护/更新mysql中的记录顺序

    我在 mySql 中有一个记录表 我需要按照用户指定的方式维护它们的订单 所以我添加了一个 位置 列 当我移动特定记录时更新所有记录的 SQL 语句是什么 我有类似的东西 UPDATE items SET position 2 WHERE
  • 外键和索引

    我有 2 张桌子 products and 类别 每个类别有很多产品 一个产品可以属于多个类别 products product id int primary auto increment name unique etc 类别 catego
  • 我应该使用平面表还是标准化数据库?

    我目前正在开发一个使用 MySQL 数据库作为后端的 Web 应用程序 在继续下一步之前 我需要知道什么更适合我的情况 简而言之 在这个应用程序中 用户将能够使用任何数字字段 他们决定 构建自己的表单 现在我将其全部存储在通过外键链接的几个
  • 如何将 mysql 转换为 mysqli? [复制]

    这个问题在这里已经有答案了 我厌倦了将 mysql 转换为 mysqli 但似乎收到了很多错误和警告 连接到数据库没有问题 但其余代码似乎错误 我做错了什么 sql
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • MySQL Python 关于重复键更新值

    我正在研究使用 python 将 JSON 数据上传到 MySQL 我需要在插入语句中包含 ON DUPLICATE KEY UPDATE VALUES 但在 Python 中遇到了问题 如果我运行以下代码 一切正常 import json
  • pymongo复制辅助读取引用不起作用

    我们有 MongoDB 2 6 和 2 副本集 并且我们使用pymongo驱动程序并使用以下 url 连接 Mongodb 副本集 mongodb admin email protected cdn cgi l email protecti
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • WHERE NOT EXIST 附近的语法错误

    我在堆栈中搜索 但没有一个达到最终答案 我的查询是这样的 INSERT INTO user username frequence autoSend VALUES feri2 3 1 WHERE NOT EXISTS SELECT FROM
  • 获取mysql中逗号分隔行中不同值的计数

    一个表 Jobs 有 2 列 JobId 城市 当我们保存工作时 工作位置可能是多个城市 如下所示 JobId City 1 New York 2 New York Ohio Virginia 3 New York Virginia 我如何
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver

随机推荐

  • “点击恢复”暂停文本 SpriteKit

    我知道 SpriteKit 已经处理了当应用程序进入非活动状态时暂停游戏的问题 但我想做的是在应用程序重新进入活动状态时添加一个 SKLabelNode 点击恢复 现在它正在正确调用我的函数并暂停游戏 但文本没有显示 AppDelegate
  • 具有多个自变量的 Python curve_fit

    蟒蛇的curve fit计算具有单个自变量的函数的最佳拟合参数 但是有没有办法使用curve fit或者其他什么 以适应具有多个自变量的函数 例如 def func x y a b c return log a b log x c log
  • 如何检测实体 EntityState 的更改?

    我想在客户列表的每一行上放置一个 删除 按钮和一个 取消 按钮 当客户 未更改 时 取消 按钮将被禁用 但是 当客户转换到更改状态 已添加 已修改 已删除 时 我想启用 取消 按钮 以便用户可以在保存之前撤消更改 无论它们是什么 我几乎可以
  • 如何防止 PHP DOMDocument“修复”您的 HTML 字符串

    我一直在尝试使用 HTML DOM 对象来解析网页 以便将它们用于应用程序来扫描它们的 SEO 质量 但是我遇到了一些问题 出于测试目的 我编写了一个小型 HTML 页面 其中包含以下不正确的 HTML 正如您所看到的 标题位于 head
  • EF Core 多个导航属性产生循环依赖

    我有以下映射配置 入门级 entity HasOne e gt e CurrentHandling WithOne HasForeignKey
  • Django 多处理和数据库连接

    背景 我正在开发一个使用 Django 和 Postgres 数据库的项目 我们还使用 mod wsgi 以防万一 因为我的一些网络搜索提到了它 在提交 Web 表单时 Django 视图启动一项需要花费大量时间 超过用户想要等待的时间 的
  • 当我们创建空的不可变列表/集合/映射时,是否有任何实际应用/用例

    Java 9 提供了一种创建空不可变列表 集合和映射的方法 List list List of Set set Set of Map map Map of 但我无法理解创建空的不可变列表 集合 映射的实际用例是什么 请帮助我理解空的不可变列
  • 如何在 Zend Framework 2 中引导会话

    在 Zend Framework 2 中启动和运行会话的最佳方法是什么 我尝试过设置session start 在我的 index php 文件中 但随后在引导任何自动加载器之前运行该文件 导致我的会话中存在不完整的对象 在 ZF1 中 您
  • C# - 如何打印宽高比/整页

    我正在单击按钮时打印图表控件 chart1 SaveImage ms ChartImageFormat Bmp Bitmap bm new Bitmap ms PrintDocument doc new PrintDocument doc
  • 如何覆盖 setup.py 默认使用的编译器 (GCC) 标志?

    我明白那个setup py使用相同的CFLAGS用于构建 Python 我有一个我们的 C 扩展存在段错误 我需要构建它without O2因为 O2正在优化一些值和代码 以便核心文件不足以确定问题 我只需要修改setup py以便 O2未
  • 如何从 Java 中的 URL 读取图像?

    我的 Web 应用程序中有提供图像的 servlet 当我使用浏览器图像访问这些 url 时 服务器是正确的 然后我有另一个调整图像大小的 servlet 想法是通过调整大小 servlet 中的 url 访问获取图像 然后调整图像大小 但
  • 最佳实践 - 使用 Symfony 2 删除链接

    在 Symfony 2 中 创建删除记录的链接的最佳方法是什么 我可以定义一条路线 entity delete只接受一个DELETE方法 但我不知道如何创建DELETE来自模板的链接 创建也是同样的道理PUT links 所以你会怎么做 接
  • 如何找到循环图中两个节点之间的最长路径?

    我已经解决了大部分发布的问题here 除了最长的路径之外的所有路径 我读过关于最长路径的维基百科文章 如果图是非循环的 这似乎很容易出现问题 而我的不是 那我该如何解决这个问题呢 通过检查所有可能的路径进行暴力破解 我该如何开始这样做呢 我
  • Microsoft SQL Server“Express”版本可以免费开发吗?

    我可以在 Microsoft SQL Server 2005 2008 Express 版数据库上免费开发软件吗 是的你可以 但 Express 版本有一些限制 SQL Server 一次仅使用一个 CPU 最大内存为1GB 数据库大小限制
  • 为什么 C++ 编译器不优化结构数据成员的读写而不是不同的局部变量?

    我正在尝试创建一些 POD 值的本地数组 例如double 与固定max size在编译时已知 然后读取运行时size value size lt max size 并首先处理size该数组中的元素 问题是 为什么编译器不消除堆栈读写arr
  • Java 位图字体:用不同颜色位图传输 1 位图像

    我想在基于 Java AWT 的应用程序中实现一个简单的位图字体绘制 应用程序借鉴了Graphics对象 我想在其中实现一个简单的算法 1 加载文件 可能使用ImageIO read new File fileName 这是 1 位 PNG
  • 为什么 UserManager.CreateIdentityAsync() 正在寻找 IdentityRole 以及如何修复?

    我在用着身份2 0 with MVC5 代码优先我已经延长了IdentityUser and IdentityRole像这样 public class ApplicationUser IdentityUser Required String
  • 键盘可访问的网络下拉菜单?

    有没有办法在网站上构建键盘可访问的下拉菜单 我们当前的 Web 应用程序具有标准的悬停菜单 但这确实减慢了我们的数据输入职员的速度 他们习惯于桌面应用程序 其中有键盘可访问的菜单 无需使用鼠标 我们弄清楚了如何使用键盘快捷键显示菜单 但我不
  • sbt:子项目的动态聚合

    我想发明一个系统动态发现子项目并将它们自动聚合到我的项目中 或者至少以某种方式配置它 为此 我计划拥有一个 模块 文件夹或包含模块路径的可选配置文件 无论如何我需要循环遍历子文件夹 或循环遍历配置文件中的路径列表 并汇总每个子项目 我不知道
  • MySQL 是否可以实现 N-master => 1-slave 复制?

    我想制作一台专用的从机 用于三个不同服务器上三个数据库的数据复制 换句话说 我想做多主 gt 单从复制 有没有办法做到这一点 尽可能简单 Thanks MySQL 不支持多主复制 一个从站有多个主站 MySQL Cluster 除外 您可以