问题标签 [multi-master-replication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
phpmyadmin - 启用复制时在 MySQL 中使用反引号 (``)
故事
我最近在我的 MySQL 服务器上设置了复制。我沿着主 - 主复制的路线走(2台服务器,每台都是主服务器和从属服务器,如此处所述 - http://brendanschwartz.com/post/12702901390/mysql-master-master-replication)。
我开始注意到一些查询失败或在 WAMP 上使用 PhpMyAdmin 显示意外行为。例如,突然:
我很快意识到这可能是PhpMyAdmin 的错,因为通过 MySQL shell 进行操作是有效的。然后我意识到它在我自己的基于 Linux 的机器上也可以在 PhpMyAdmin 上运行,而且 PhpMyAdmin 版本要新得多。
但是,在尝试从常规 shell 运行一些查询时,我确实遇到了反引号问题,例如:
我不相信巧合,所以我想我最好检查一下发生了什么。
到目前为止我所拥有的
我在网上搜索过它,发现反引号和复制可能存在问题,因为它保存在日志中的方式(我认为)。但它仍然不能完全回答复制如何仍然为我工作,但一些查询因反引号而失败。如果有的话,我的数据支持反引号没有问题。
我知道反引号的用途 - https://dba.stackexchange.com/questions/23129/benefits-of-using-backtick-in-mysql-queries
我的 MySQL 服务器正在运行:
- Ubuntu 14.04.01(64 位服务器版)
- MySQL Ver 14.14 Distrib 5.5.41,适用于使用 readline 6.3 的 debian-linux-gnu (x86_64)
我的问题是:
- 为什么反引号不利于复制?我是否可能会遇到反引号问题,或者我的经验是否是由于深奥的、特定于平台的问题?
- 有没有推荐的方法来处理这个问题?
- 我的想法是摆脱代码中的所有反引号。我的列名都是简单的英文字母和驼峰式,所以无论如何我都不应该使用反引号。
- 我想也许我可以切换到,
sql_mode = ANSI_QUOTES
但我担心这么大的变化需要对整个系统进行彻底测试,因为我不确定它会如何影响查询的其他方面,例如值等。 - 我还认为问题可能是反引号已成为名称的一部分,但它不符合行为,我检查了。
- 我想也许我可以切换到,
我将不胜感激任何人对此问题的任何意见。
mysql - 具有 keepalived 的 Master Master Replication 以实现故障转移和一致性
我想使用 MySQL 设置主-主复制以进行故障转移。但是,我不希望从两个 master 访问数据,这样我可以减轻 master-master 复制的风险。我已经有一个用于 Web 服务器负载平衡和故障转移目的的 keepalived 设置。我可以让keepalived 始终指向Master A 并且只在Master A 宕机时使用Master B 是否合理,即Master B 是备份?有没有人有更好的设置的想法?
我不关心速度,而是关心零停机时间。对此的任何想法将不胜感激。
xmpp - ejabberd 集群:多主或主从
到目前为止,我遇到的是这个 -
- 在配置中设置
ejabberd
集群master-slave
,会出现单点故障,并且即使在修复主节点(如果它出现故障)之后,集群也无法再次运行,人们也会遇到问题。有时,ejabberd
必须再次访问每个从属的实例以使它们正常工作,或者mnesia
必须再次输入命令以使主控与从属通信。 - 在配置中设置
ejabberd
集群,multi-master
然后可以将任何节点从集群中取出,而不会导致整个集群停机。基本上,没有单点故障,这也是官方文档ejabberd
告诉您通过它们在脚本join_cluster
中公开的参数进行操作的方式。ejabberdctl
但是,在这种情况下,所有数据都在两个节点之间复制,在我看来这是一个很大的性能开销。
所以归结为这一点。
什么是最好的/推荐的/流行的模式,其中ejabberd
应该设置 2 个节点的集群,主要考虑性能,但也要牢记其他关键因素(容错、负载平衡)。
redis - Redis 是否支持主从复制?
根据我对以下很久以前提出的问题的理解,Redis 没有对主-主复制的内置支持。
到目前为止,官方网站似乎没有什么关于主-主复制的内容。还是这样吗,即Redis是否仍然没有多主复制的选项。甚至第三方工具似乎也无法帮助 Redis 实现同样的目标。我遇到了 Zabcluster 和 Zookeeper,但我不确定这是否能满足我对简单主-主设置的要求,而无需进行太多额外的复杂更改。
mysql - 相互复制两个集群
我目前在欧洲有一个 Galera 集群,我想在美国运行另一个集群并在两个集群之间使用主 - 主复制。
我知道我可以只创建一个大集群,但这对集群的性能不利,因为节点在两大洲之间存在延迟。
问题:
是否可以使用主-主复制将集群复制到另一个集群?
我应该为主复制选择两个节点(每个集群中一个)吗?或者是否可以链接多个节点,如下所示:
服务器 1-集群 1 - 服务器 1-集群 2
服务器 2 集群 1 - 服务器 2 集群 2
服务器 3 集群 1 - 服务器 3 集群 2
mysql - MySQL 多主复制拓扑
免责声明:我以前从未使用过复制,但我正在做我所有的研究。没有真正深入了解 MySQL 会使很多文档难以理解。
我们有一个远程服务器和许多“现场”服务器。此应用程序是关键任务,并且由于现场互联网连接不可靠,现场机器具有该应用程序的完整功能实例。现场机器位于各种防火墙之后,通常无法相互访问。我们可以设置 SSH 隧道以允许云数据库与现场数据库通信。
这是一个简单的图表:
异步多主复制似乎对我们来说是最好的选择,但大多数文档似乎暗示多源复制仅适用于从属和/或多主复制仅适用于循环和单个主(在这种情况下,云服务器)不能直接复制到多个其他主服务器。
我是否错误地解释了这一点(只是找不到有关如何执行此操作的文档),还是这种情况?如果是这样,我们可以使用像 Tungsten 或 Galera 这样的 3rd 方包吗?
database - 小DB高可用解决方案,无单点故障
我需要为小型(即 2 个表/实体)选择一个解决方案,总共最多 100,000 行(约 20 MB 数据),其中 HA 的数据分布在多个节点之间。没有单点故障的 HA 是必须的。我正在考虑使用 Cassandra 来完成这项任务。但是,我觉得 Cassandra 对于如此大的数据量可能有点矫枉过正。是否有任何更轻的替代方案可以为 HA 提供多主复制能力。
openldap - OpenLDAP - 多主配置
我必须在多主模式下配置两个 OpenLDAP 节点。我还将它们与我们的公司 Active Directory 集成,经过一些验证,集成似乎有效。即使日志说复制工作正常,我也验证了添加到一个节点的实体没有在另一个节点上复制。这是我的 slapd.conf,如下所示。两个slapd.conf之间的唯一区别是serverID
postgresql - 如何实现两个以上postgresql数据库之间的master-master复制?
我希望能够通过以下方式在两个以上的 postgresql 数据库之间设置主-主复制:
考虑三个数据库,即 db_main、db_1、db_2。在 db_main 和 db1 之间以及在 db_main 和 db_2 之间有一个双向复制设置(也许是交换同步?,用 Bucardo 术语)。虽然 db_1 和 db_2 甚至没有直接连接,但如果我在 db_1 上创建 table1 并在 db_2 上创建 table2,那么 table1 和 table2 都应该传播到所有三个数据库。
这样的设置甚至可能吗?如果是的话怎么办?什么水平的一致性?该解决方案能否容忍网络故障导致的消息丢失等故障?
先感谢您。