devilboy477 Asked: 2020-03-13 20:01:17 +0800 CST2020-03-13 20:01:17 +0800 CST 2020-03-13 20:01:17 +0800 CST 如何在 MariaDB 中添加/更新从服务器到主服务器的数据? 772 我正在试验是否可以调整主从复制的功能。我可以在我的主服务器中写入数据,这些数据在从服务器中更新,但它不能以其他方式发生。我想找到一种可以通过两个服务器写入和更新数据的方法。有可能吗?如果是,实现它的方法是什么? replication mariadb 1 个回答 Voted Best Answer dbdemon 2020-03-20T13:54:15+08:002020-03-20T13:54:15+08:00 您可以使用由两个主从配置组成的主-主复制:一个主从,其中节点 1 是主节点,节点 2 是从节点,另一个是相反的方式。 有几个注意事项,而且有点脆弱:您需要auto_increment_increment在两个节点上设置为 2,在一个节点上设置auto_increment_offset为 1,在另一个节点上设置为 2,IIRC。这样,您可以避免INSERT冲突(假设表使用auto_increment)。这是一篇可能有用的文章:MariaDB master/master GTID based replication with keepalived VIP 还有另一种称为多主复制的解决方案,使用 MariaDB 可以通过MariaDB Galera Cluster实现。这是一个更强大的解决方案,尽管它确实有一些限制- 请注意,例如它仅适用于 InnoDB 存储引擎。在网络分裂的情况下,您通常希望拥有奇数个节点(通常为 3 个)以在节点之间拥有仲裁,尽管您可以使用 2 个普通节点和一个Galera 仲裁器来模拟这一点。
您可以使用由两个主从配置组成的主-主复制:一个主从,其中节点 1 是主节点,节点 2 是从节点,另一个是相反的方式。
有几个注意事项,而且有点脆弱:您需要
auto_increment_increment
在两个节点上设置为 2,在一个节点上设置auto_increment_offset
为 1,在另一个节点上设置为 2,IIRC。这样,您可以避免INSERT
冲突(假设表使用auto_increment
)。这是一篇可能有用的文章:MariaDB master/master GTID based replication with keepalived VIP还有另一种称为多主复制的解决方案,使用 MariaDB 可以通过MariaDB Galera Cluster实现。这是一个更强大的解决方案,尽管它确实有一些限制- 请注意,例如它仅适用于 InnoDB 存储引擎。在网络分裂的情况下,您通常希望拥有奇数个节点(通常为 3 个)以在节点之间拥有仲裁,尽管您可以使用 2 个普通节点和一个Galera 仲裁器来模拟这一点。