如何在多个服务器上连接并从多个mysql数据库中获取数据?

问题描述

我想从多个服务器上的多个mysql数据库中获取数据。 我正在使用phpmyadmin(mysql)。所有数据库将是多台服务器上的mysql数据库(相同的供应商)。首先,我想连接到那些服务器数据库,然后再从它们中获取数据,然后将结果放入中央数据库。

例如:服务器1上的remote_db_1,服务器2上的remote_db_2,服务器3上的remote_db_3。我有中央数据库,我想在其中存储来自不同数据库的数据。

查询:从配置文件!= 2的用户中选择count(user);所有数据库都将运行相同的查询。

central_db

school_distrct_info_table

id  school_district_id  total_user
1.      2                  50
2.      55                 100
3.      100                200

我已经尝试过联邦引擎,但是它不符合我们的要求。在这种情况下,可以使用任何工具,任何替代方法或任何方法来完成

将来没有。不同服务器上数据库的数量将增加。从源服务器导出表然后加载到中央数据库可能要50、100甚至更多。因此,我也在寻找某种etl工具,该工具可以直接从多个源数据库中获取数据,然后将数据发送到目标数据库。在中央数据库表,结构,数据类型,列中,所有内容都会有所不同。有时我们可能需要添加额外的列来存储一些数据,我知道过去可以通过etl工具来实现,我曾经使用过可与SQL Server一起使用的ssdt,但这是mysql。

解决方法

处理此问题的最简单方法是使用federated servers。但是,您说那对您不起作用。

因此,处理该问题的下一个最佳方法是从源服务器导出表,然后将它们加载到中央服务器中。但这要困难得多。这种操作有时称为提取/转换/加载或ETL。

您将使用您选择的编程语言(Python,php,Java,PERL,nodejs ??)编写一个程序,以分别连接到每个数据库,然后对其进行查询,然后将信息放入中央数据库中。 / p>

使用此工作正常时,痛心地说,不兼容的真急。的这是棘手的工作和试验。

我是否可以建议您再写一个问题,解释为什么服务器联合会无法满足您的需求并寻求帮助?也许有人可以帮助您配置它。然后,您将有机会迅速完成该项目。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...