首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式mysql同步

分布式mysql同步
EN

Server Fault用户
提问于 2012-05-27 15:12:42
回答 2查看 108关注 0票数 1

我正在运行一个连接到SQL主机的服务器。我有另一台服务器,我决定将其作为SQL备份运行。所以,我有三个。Srv A是SQL主机,srv B是备份。

我知道有mysql复制,但这不是我喜欢的(如果我错了就纠正我)。我想要分发的东西,所以如果srv A返回,它不会覆盖在srv B上停机期间构建的数据库。我只有3台服务器,所以不能选择设置集群。

如果有人能帮我的话,我会很高兴的。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-05-27 16:29:24

使用主从配置和从从中删除备份是MySQL数据库的一种相当标准的策略。在故障转移和故障回退的恢复阶段,将讨论保护数据不被改写的过程。

通常,您将使用从服务器B以一致的方式执行数据库(mysqldump -h serverB --all-databases --lock-tables --other-options)的完整或增量备份,而不会在转储期间使用锁影响主数据库。这很有用,因为从服务器是主服务器的一个相同的副本。

首先,主A被配置为mysql bin-log指令,以使从服务器B可以使用复制。以及潜在的C,D等。

同时,从B被配置为保存事务的bin日志。(这通常是空的,因为它不应该记录复制更新,除非您是链接奴隶)

一旦serverA失败,主角色将被移动到serverB,B现在开始记录到它自己的bin-log文件。在故障转移操作的这一点上,您将手动禁用从A到B的复制,(**mysql -h serverB -e 'stop slave'** ),因为正如您提到的,您希望保护B不受失败服务器A的影响。

我所说的“主角色从服务器A移动到服务器B”的意思是,您将将应用程序更改为将CRUD操作(创建、替换、更新、删除)写入服务器B地址。例如mysql -h serverB -e 'INSERT INTO table X'。在2节点设置中,您还将迁移SELECT查询,因为您没有与主角色不同的集群只读角色。

现在是sys-admin任务,将A作为B的奴隶重新联机。

如果它是一个干净的失败,A现在是B后面的一些事件,但是B上的二进制日志包含这些事件的记录。因此,您可以将masterB绑定日志重放到slaveA (它包含基本的SQL语句)。

如果服务器A被完全销毁,您可以选择使用从B获取的完全备份(使用最近的转储)或使用来自xtrabackup包的percona脚本等工具将mysql恢复到A。

现在,您应该将复制配置为相反的方向,以允许slaveA从masterB复制。

现在A和B应该是相同的。如果您有一个很好的理由,比如slaveA是一台高得多的规范机器,那么现在您可以切换复制方向来恢复主程序as配置。

处理此场景(故障转移和故障回退)的其他策略包括MMM、多主复制或percona复制管理器工具(我还没有在生产中尝试过)。

票数 5
EN

Server Fault用户

发布于 2012-05-27 22:45:49

我只有3台服务器,所以设置集群不是一种选择。

如果要在它们之间传递数据,那么它们就定义为集群。而集群正是你所描述的目标。在MyQL语言中,有一种非常特殊的配置类型,称为NDB集群--这可能不是适合您的解决方案。

因此,如果srv A返回,它不会覆盖在srv B上停机期间构建的数据库。

只有当您使用自动增量列或从序列生成的其他值时,它才会这样做,而mysql有特定的功能来避免这种情况。

我正在运行一个连接到SQL主机的服务器。我有另一台服务器,我决定将其作为SQL备份运行。所以,我有三个。Srv A是SQL主机,srv B是备份。

我不明白-你有三个数据库服务器吗?或者是2?

无论如何,您需要将这些设置为具有异步复制(而不是主从)的主-主对。如果要添加第三个节点,则只将其添加为从节点。这就避免了在发生故障时提升从节点的问题--您只需将流量路由到另一个节点(备份和模式更新也很方便)。实现这一目标的方法有很多种--但最明智的方法是在客户端设置围栏或使用虚拟地址。

我不打算在这里描述这个过程,因为空间是有限的,你需要准确地理解你在做什么。互联网上也有很多指南--但你可能想去买一本好书 (只是注意到O‘’Reilly有更贴切的把这个拿出来 )。坚持上面描述的方法。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/393126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档