首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL Cross Server选择查询

MySQL Cross Server选择查询
EN

Stack Overflow用户
提问于 2018-08-27 04:28:59
回答 2查看 0关注 0票数 0

是否可以使用MySQL Client编写跨服务器选择查询。基本上,设置如下。

服务器IP数据库 --------- -------- 1.2.3.4测试 abcd测试

我想编写一个查询,它将从1.2.3.4上的测试数据库中的表中选择行,并将结果插入到abcd上的测试数据库中。 我的服务器位于数英里之外,所以我将打开一个SSH隧道进行连接他们俩。

有什么指针吗?

EN

Stack Overflow用户

发布于 2018-08-27 13:41:28

如何在其中一台服务器上使用联合表?根据您将在查询中使用的远程表创建联合表,并运行您的查询,就好像您的数据库都是本地的一样。来自MySQL站点的示例如下

使用FEDERATED表的过程非常简单。通常,您有两台服务器在同一主机或不同主机上运行。(FEDERATED表可能使用由同一服务器管理的另一个表,尽管没有必要这样做。)

首先,您必须使用FEDERATED表在远程服务器上拥有一个表。假设远程表位于联邦数据库中,并且定义如下:

CREATE TABLE test_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=MyISAM 
CHARSET=latin1;

该示例使用MyISAM表,但该表可以使用任何存储引擎。

接下来,在本地服务器上创建一个FEDERATED表以访问远程表:

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';

(在MySQL 5.0.13之前,使用COMMENT而不是CONNECTION。)

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档