MySQL объединяет две таблицы в двух разных базах данных, размещенных на разных серверах [duplicate]

Запустите эту команду

Добавьте rbenv в bash, чтобы он загружался каждый раз, когда вы открываете терминал

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

, это решит вашу проблему Ссылка

24
задан Starx 21 June 2012 в 07:25
поделиться

2 ответа

Да, это возможно в MySQL.

Аналогичные вопросы заданы ранее . Для этого вы должны использовать 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]

26
ответ дан Community 19 August 2018 в 02:18
поделиться
  • 1
    Это очень медленно с большими таблицами базы данных. Я все еще ищу лучший метод, но таблицы FEDERATED недостаточно масштабируются, чтобы быть вариантом во многих случаях. – Brilliand 17 September 2014 в 16:15
  • 2
    Привет, вы нашли лучшее решение для этого? – Noman Dilawar 8 September 2017 в 05:33
  • 3
    @NomanDilawar, Привет, мне не нужно было искать лучший метод. Если вы его найдете, я бы очень хотел его увидеть. – Starx 8 September 2017 в 12:35
  • 4
    Хотя это не то же самое, репликация может быть хорошим решением в зависимости от вашего варианта использования – John Hunt 25 April 2018 в 12:44
  • 5
    @JohnHunt, я бы возразил против этого, поскольку вы упомянули, что это не то же самое. Репликация не соединяет таблицы с другого сервера. – Starx 2 May 2018 в 08:37

Репликация будет альтернативным и подходящим решением.

server1 - db1 -> replicate to server2. (теперь db1 и db2 будут на одном сервере server2. Соединение будет простым).

ПРИМЕЧАНИЕ. Если сервер2 достаточно способен выполнять загрузку db1 с точки зрения хранения / процесса и т. д., тогда вэнь может выполнить репликацию. Как сказал @brilliand, да Federated будет делать ручную работу и медленный процесс.

1
ответ дан naveen_sfx 19 August 2018 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: