MySQL – 使用Python在不同服务器上的数据库之间进行连接?
在MySQL
,我有两个不同的数据库 – 我们称它们为A
和B
数据库A
驻留在服务器server1
,而数据库B
驻留在服务器server2
。
两台服务器{ A
, B
}在物理上彼此接近 ,但在不同的机器上,并具有不同的连接参数(不同的用户名,不同的密码等)。
在这种情况下,是否可以在数据库A
中的表与数据库B
的表之间执行连接?
如果是这样,我怎样才能用python
编程呢? (我正在使用python
的MySQLDB
分别与每个数据库进行交互)。
尝试使用FEDERATED存储引擎 。
解决方法:可以使用其他DBMS来检索两个数据库之间的数据,例如可以使用MS SQL Server中的链接服务器 (请参阅sp_addlinkedserver存储过程)来执行此操作。 从文档:
链接服务器允许访问针对OLE DB数据源的分布式,异构查询。
这非常简单 – 从一台服务器select数据,从另一台服务器select数据并使用Python进行聚合。 如果您想要使用JOIN
进行SQL查询,请将两个服务器的结果放入本地SQLite
数据库的单独表中,并使用JOIN
编写SELECT
。
不可以。你可以按照你的意愿进行连接。 但是你也许可以通过将其中一台服务器复制到另一台服务器上来进行sorting。
一个数据集在一个MySQL副本的控制下,另一个数据集在另一个MySQL副本的控制下。 查询只能由其中一个(MySQL)服务器处理。
如果在第一台服务器上创build第二个数据库的副本(反之亦然)(最less更新的那个最好),则可以设置复制以保持副本最新。 您将可以随意运行查询。