加入不同服务器上两个不同数据库表的操作

时间:2014-03-06 06:57:06

标签: mysql

有没有办法对来自不同数据库的两个表使用join操作?

两个数据库都在不同的服务器上。

1 个答案:

答案 0 :(得分:0)

如果两个数据库都是MySQL,则FEDERATED ENGINE提供在不同服务器中连接MySQL数据库的功能。 并阅读limitations

百科: 用于MySQL关系数据库管理系统的MySQL联合存储引擎是一种存储引擎,它允许用户创建一个表,该表是外部(远程)表的本地表示。它利用MySQL客户端库API作为数据传输,以与其他存储引擎处理本地数据源相同的方式处理远程数据源,无论它们是MYD文件(MyISAM),内存(集群,堆)还是表空间(InnoDB)。在那里定义的每个联合表都有一个.frm(数据定义文件包含诸如数据源的URL之类的信息)。实际数据可以存在于本地或远程MySQL实例上。

要创建联合表,必须在" CONNECTION"中指定一个URL。字符串:

create table t1 (
 a int,
 b varchar(32))
ENGINE=FEDERATED CONNECTION='mysql://user@hostname/test/t1'

连接URL的格式为:

scheme://user:pass@host:port/schema/tablename