MySQL: SELECT from another server

2019-01-11 06:37发布

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"?

2条回答
混吃等死
2楼-- · 2019-01-11 07:22

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

查看更多
戒情不戒烟
3楼-- · 2019-01-11 07:31
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.

查看更多
登录 后发表回答