MySQL: ВЫБРАТЬ с другого сервера - PullRequest
23 голосов
/ 03 февраля 2009

Боюсь, что уже знаю ответ на свой вопрос, но все равно спрошу:

Когда есть два сервера БД MySQL, могу ли я получить доступ к данным, которые хранятся на другом сервере?

Другими словами: можно ли как-нибудь это сделать:

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

Действительно ли ответ так же короток, как "Нет"?

Ответы [ 2 ]

16 голосов
/ 03 февраля 2009

Вы можете настроить объединенные таблицы в MySQL, чтобы выполнить то, что вы пытаетесь сделать. Есть некоторые ограничения.

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

0 голосов
/ 10 февраля 2018
CREATE TABLE `remote_table`(
  `foo` VARCHAR(100),
  UNIQUE KEY(`foo`(30))
) ENGINE=FEDERATED CONNECTION='mysql://thedomain.com:3306/remotedbname/remotetablename';

Затем запросите его, как и любую другую таблицу, с помощью SELECT, UPDATE, INSERT, DELETE.

...