【问题标题】:Can I implement synchronous and asynchronous replication with the MySQL cluster?我可以用 MySQL 集群实现同步和异步复制吗?
【发布时间】:2019-04-08 12:49:05
【问题描述】:

我想做同步和异步复制,一些数据库同步,另一些数据库异步。

异步我通过 MariaDB 进行,通过具有复制功能的传统系统。 但我也想用 Mysql / MariaDB 实现同步复制。 问题是我不知道 Mysql Cluster 是否也能做到这一点,或者是否不需要只安装 Mysql 或 MariaDb 并且只为两者使用 Mysql Cluster。

谢谢。

【问题讨论】:

    标签: mysql mariadb database-replication mysql-cluster


    【解决方案1】:

    披露:我正在为 MySQL Cluster 团队工作 - “MySQL Cluster”,就像在 NDB Cluster 中一样。

    MySQL NDB Cluster 始终在其节点之间使用同步复制。您仍然可以使用异步复制到其他 MySQL 实例或 MySQL 集群。

    AFAIK 只有 MySQL 提供 NDB 并且是开源的。

    由于通常的网络限制,同步复制更适合本地数据中心的高可用性。它为您提供始终一致的数据视图、两个或更多活动实例,并使针对它的编程变得更加容易。

    异步更适用于数据中心或可用区之间的复制,在这些地方您可以忍受数据中的临时不一致并相应地设置您的编程模型。

    【讨论】:

    • 您好,请问我的数据库是在MariaDB引擎中实现的,但是不知道能不能和MYSQL Cluster集成,否则会出问题。
    • 我从未看过 MariaDB - 但我怀疑 MySQL NDB Cluster 引擎和 MariaDB 是否会一起使用。您必须使用 MySQL 才能使用 MySQL NDB Cluster
    【解决方案2】:

    “MySQL Cluster”的含义不止一个,所以我会避开它。

    “Galera”是 MariaDB、PXC 和(如果您自己安装)MySQL 中的底层集群技术。

    Galera 提供(通常)3 个节点之间的基本同步。同时,每个节点可以挂接任意数量的异步 Slave。

    此外,一个 Galera 集群可以异步复制到另一个这样的集群。这有时是通过两个数据中心中的每一个中的一个集群来完成的。

    在数据库级别混合同步和异步是很不寻常的,而且看起来很奇怪。复制的一般原则是所有服务器将具有完全相同(排除延迟)的数据。请详细说明你想做什么。此外,在拓扑方面,请跳出框框思考。

    【讨论】:

    • 您好,我要做的是以下,我正在研究 MariaDB,并且我已经复制了一个包含一个 master 和 2 个 slave 的数据库。我用 MariaDB 带来的默认工具复制了它们。我想要做的是,例如,奴隶在特定的时间和特定的日期同步。我不知道如何做那部分,也不知道 Galera 是否可以促进这项任务。
    • @ElPapu - 所有形式的复制始终开启。没有在给定时间同步的概念。 “持续”复制比“同步”简单得多。请解释您为什么需要小时/日期技术。也许对根本问题有更好的解决方案。
    • 我的情况是这样的:我被要求制作一个安装在 MariaDB 上的数据库的副本,我必须做 2 个示例,第一个是立即复制,我已经使用 MariaDB 的工具进行了复制默认情况下,该作业的第二个复制必须在特定的时间和日期进行,无论哪个想要,该部分都没有限制。问题是我不知道是否使用默认工具可以做到这一点,或者我正在联系以实现上述其他方式。
    • @ElPapu - 如果我的老板给了我这个任务,我会反驳说“你为什么要付钱给我发明一个工具,当有一个类似的工具似乎可以实现相同的目标时但以不同的方式。”
    • 发生在我身上的另一件事是使用任务调度程序(在本例中为 Windows)来编写“值得冗余”的任务,其中副本图标被激活和停用,尽管我不知道如何实现该部分...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多