как насчет использования федеративных таблиц на одном из серверов?
создайте федеративные таблицы на основе удаленных таблиц, которые вы будете использовать в запросе, и просто выполните запрос, как если бы ваша база данных была локальной Пример ниже от MySQL site
Процедура использования таблиц 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 используйте КОММЕНТАРИЙ, а не СОЕДИНЕНИЕ.)