有没有办法对来自不同数据库的两个表使用join操作?
两个数据库都在不同的服务器上。
答案 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