繁体   English   中英

如何从多个服务器上的多个 mysql 数据库连接和获取数据?

[英]How I can connect and fetch the data from multiple mysql databases on multiple severs?

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

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

查询:select count(user) from user where profile;=2。 将对所有数据库运行相同的查询。

中央数据库

school_distrct_info_table

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

我尝试过联合引擎,但它不符合我们的要求。在这种情况下,任何工具、任何替代方法或任何东西都可以做什么。

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

处理此问题的最简单方法是使用联合服务器 但是,你说这对你不起作用。

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

您将使用您选择的编程语言(Python,php,Java,PERL,nodejs??)编写程序,然后将信息分别连接到中央数据库,然后查询它,

遗憾的是,让这项工作正常工作与真正的紧迫性不相容。 开始工作和测试很棘手。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM