Mysql 从数据库中查询2个不同服务器的数据

Mysql 从数据库中查询2个不同服务器的数据,mysql,mysql-workbench,Mysql,Mysql Workbench,我想使用mysql从两个不同的数据库服务器查询数据。有没有一种方法可以做到这一点,而不必创建联邦数据库,因为谷歌云平台不支持联邦引擎。 谢谢 您可以通过两种方式实现这一点,一种是您已经提到的: 1。使用联邦引擎 你可以在这里看到它是如何完成的-。这是一个特定于MySQL的答案 2。在另一台服务器上设置多源复制并查询该服务器 您可以使用复制通道轻松设置多源复制 在这里查看他们的官方文件- 如果您有一个旧版本的MySQL,其中没有可用的复制通道,那么您可以使用许多第三方复制器中的一个,如Woody

我想使用mysql从两个不同的数据库服务器查询数据。有没有一种方法可以做到这一点,而不必创建联邦数据库,因为谷歌云平台不支持联邦引擎。
谢谢

您可以通过两种方式实现这一点,一种是您已经提到的:

1。使用联邦引擎

你可以在这里看到它是如何完成的-。这是一个特定于MySQL的答案

2。在另一台服务器上设置多源复制并查询该服务器

您可以使用复制通道轻松设置多源复制

在这里查看他们的官方文件-

如果您有一个旧版本的MySQL,其中没有可用的复制通道,那么您可以使用许多第三方复制器中的一个,如Woody Replicator


另外,MySQL中没有PostgreSQL中的FDW。在其他数据库管理系统中,跨服务器连接是很容易实现的,但在MySQL中就不可能了。

除了@MontyPython的出色响应之外,还有第三种方法,尽管有点麻烦,如果您可能无法使用联邦引擎,也无法管理您的数据库复制,那么可以这样做

  • 使用ETL工具来完成这项工作
  • 当时,我面临着一个非常类似的问题:我必须连接来自两个独立数据库服务器的数据,这两个服务器我都没有任何管理权限。我最终建立了Pentaho的ETL工具套件,从两个数据库中提取数据,转换if(基本上让Pentaho对这两个数据集进行大量工作),并将其加载到我自己的本地数据库引擎中,在那里我得到了我所需的合并和处理数据

    请注意,这是一项大量的工作(您必须“教”您的ETL工具您需要什么,并且取决于您使用的工具,它可能涉及相当多的编码),但是一旦您完成了,您可以安排定期自动进行工作,以便您始终可以随时访问本地处理/合并的数据

    FWIW,我使用了Pentaho的社区版,就像啤酒一样免费