mysql - 连接来自两个不同服务器的表

标签 mysql

我有两个不同的服务器server1server2,现在我在server1中有db1 server2 中的 db2。 我正在尝试像这样在 MySQL 中连接这两个表。

Select a.field1,b.field2  
FROM  [server1, 3306].[db1].table1 a  
Inner Join [server2, 3312].[db2].table2 b  
ON a.field1=b.field2  

但是我收到错误。在 MYSQL 中是可以的。

最佳答案

是的,在 MySQL 中是可能的。

有类似问题问previously也。您必须使用FEDERATED ENGINE去做这个。这个想法是这样的:

您必须有一个基于另一个远程位置的表的联合表才能按照您想要的方式使用。表的结构必须完全相同。

CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

[Source Answer]

关于mysql - 连接来自两个不同服务器的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28670338/

相关文章:

JTable 单元格更改上的 JAVA 更新数据库

mysql - 单个 SELECT 查询的 InnoDB 隔离级别

mysql - 如何返回 MySQL 中 "custom"排序的记录

python - Django select_related 查询

mysql - 从 MySQL/MariaDB 表中最近插入的行中选择行

MySQL查询单词链接

mysql - 优化自定义 Wordpress SQL 查询以获取用户元数据

MySQL : Dependent Sub Query with NOT IN in the WHERE clause is very slow

javascript - 如何根据 mysql 中的 2 个单选按钮值填充选择输入

mysql - 减去两列并在运行时对结果求和