MySQL:从另一台服务器选择

发布于 2024-07-13 07:14:14 字数 246 浏览 4 评论 0原文

恐怕我已经知道我的问题的答案,但我还是会问:

当有两个 MySQL DB 服务器时,我可以访问存储在另一台服务器上的数据吗?

换句话说:我能以某种方式做到这一点:

INSERT INTO table (x, y, z)
   SELECT x, y, x+y
      FROM [otherserver].[database].[table]

答案真的像“不”那么短吗?

I'm afraid that I already know the answer to my question, but I'll ask it anyway:

When there are two MySQL DB servers, can I access data that is stored on the other server?

In other words: Can I somehow do this:

INSERT INTO table (x, y, z)
   SELECT x, y, x+y
      FROM [otherserver].[database].[table]

Is the answer really as short as "No"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟雨凡馨 2024-07-20 07:14:14

您可以在 MySQL 中设置联合表来完成您想要做的事情。 有一些限制。

http://dev.mysql.com/doc/refman/en /federated-storage-engine.html
http://dev.mysql.com/doc/refman/en/federated -usagenotes.html

You can set up federated tables in MySQL to accomplish what you're trying to do. There are some limitations.

http://dev.mysql.com/doc/refman/en/federated-storage-engine.html
http://dev.mysql.com/doc/refman/en/federated-usagenotes.html

眼角的笑意。 2024-07-20 07:14:14
CREATE TABLE `remote_table`(
  `foo` VARCHAR(100),
  UNIQUE KEY(`foo`(30))
) ENGINE=FEDERATED CONNECTION='mysql://thedomain.com:3306/remotedbname/remotetablename';

然后像任何其他表一样使用 SELECT、UPDATE、INSERT、DELETE 查询它。

CREATE TABLE `remote_table`(
  `foo` VARCHAR(100),
  UNIQUE KEY(`foo`(30))
) ENGINE=FEDERATED CONNECTION='mysql://thedomain.com:3306/remotedbname/remotetablename';

Then query it like any other table with SELECT, UPDATE, INSERT, DELETE.

柒夜笙歌凉 2024-07-20 07:14:14

你也可以这样做。 假设您位于目标框中(您要将表复制到的位置):

-bash$ mysqldump -u user -p password -h remote_host --databases \
db_name --tables table1 table2 table3 | mysql -u user -p password \
-D local_db_name

这将使用 mysqldump 从远程主机提取数据并将其插入到本地主机中。

You can also do this. Let's say you're in the target box (where you want to copy the tables TO):

-bash$ mysqldump -u user -p password -h remote_host --databases \
db_name --tables table1 table2 table3 | mysql -u user -p password \
-D local_db_name

This will pull the data from the remote host with mysqldump and insert it into your local host.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文