与读写分割的MySQL / MariaDB的单一的数据库复制仅此单一的数据库

问题描述 投票:0回答:1

在我的设置有两个Debian的服务器。第一个是旧的生产服务器,第二个是新的。在第一(旧)一个运行一个MySQL V5.5 DB-服务器和旧的应用程序,其滞后的支持。它不能很容易地移植到新的服务器。新的服务器运行MariaDB的10.1和所有其他的应用程序是从旧服务器移植到这个新的一个。这些应用程序必须与不能移植应用程序的数据也行。该移植的应用程序只能访问本地数据库。因此,有改变这些应用的旧数据库服务器的连接没有简单的方法。

我的想法:我要复制(主 - >从)在一个数据库MySQL的V5.5数据库服务器的maraidb 10.1 DB服务器(由旧的应用程序是不可移植的使用)的数据。到目前为止,没有任何问题。

但是,新的服务器不仅在应用程序读取旧的应用程序的数据,也可以修改它们。他们也有自己存在的数据库只存在于新服务器上。这是一个问题,据我所知,并可能导致在某些情况下复制的突破,如果应用程序将尝试在从服务器上复制的数据库来写。我的下一个想法来解决,这是我可以使用一个SQL调度代理,并发现了一些有趣的(MariaDB的maxscale,HAProxy的,proxySQL),但据我了解,他们可以分裂的读写操作,但我无法找到一个办法路线写不同的数据库到不同的服务器操作。

任何人都可以给我一个提示来解决这个问题?

设置:

服务器1 - Mysql的V5.5 - database_1

服务器2 - MariaDB的10.1 - database_1,为Database_2,database_3

在服务器1被写入并从database_1服务器上读取数据1.在服务器2上的其他应用程序的应用程序被读出和写入数据到database_1在服务器2上。

所以database_1的数据必须从服务器1复制到服务器2,并且可以有改变。

主 - 主复制,而不是主从可以工作,但原因可能打破复制和理由的事实,从服务器2更改后的数据不具有对服务器1存在AUTO_INCREMENT领域,我觉得这是不是要走的路。 (我知道,我可以在AUTO_INCREMENT间隔设置为两到避免这个问题,但它是一个已经在运行的生产系统,所以像这样的变化不是那么容易)。

目前,我们正在做手工备份和拷贝过来他们但那是这样慢,我敢肯定有一个更好的办法;)

mysql mariadb database-replication
1个回答
0
投票

您可以使用写像了Database_2和database_3数据库,这将永远不会出现在复制尖叫复制从(服务器2)。

如果你开始更新database_1你可能会遇到麻烦结束。

你是在一个大版本的两个不同数据库服务器之间进行复制,从而有一个过时的SQL语句被复制到具有了删除和复制将停止服务器的可能性。随时留意这在接下来的几周部署后。 binlog_format = ROW可以减轻一些,可以得到不正确的SQL。

© www.soinside.com 2019 - 2024. All rights reserved.