MySQL - нужно ли включить Federated Engine на обоих серверах?

Я пытаюсь выполнить один запрос MySQL, объединяя две базы данных на двух серверах. Я знаю о потенциальной низкой производительности, но хотел бы проверить независимо.

Цель этого теста, я работаю в домене Windows, с сервером разработки (локальным) и живым (удаленным) сервером.

Локальный сервер имеет FEDERATED двигатель enabled и удаленный сервер, который хранит фактические данные, но FEDERATED двигатель disabled,

Обе таблицы (живая и объединенная) имеют одинаковое определение / схему, и была определена объединенная таблица на локальном сервере:

ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://remote_user@remote_server/remote_database/remote_table';

Таблица локального сервера создает нормально, и хотя remote_user а также remote_user@'MY-PC-NAME' имеет правильный GRANTS Я получаю сообщение об ошибке:

ERROR 1429 (HY000): Unable to connect to foreign data source: Access denied for user 'remote_user'@'MY-PC-NAME' (using password

Мой вопрос заключается в том, требуют ли локальные и удаленные серверы FEDERATED двигатель должен быть включен?

Если нет, то нужно ли что-то еще, чтобы заставить работать федеративную таблицу?

1 ответ

Решение

FEDERATED Параметр engine не обязательно должен быть включен на обоих серверах, в этом случае должен быть включен только локальный сервер, на котором хранится таблица объединения.

Оказывается, что remote_user пользователь требует PASSWORD вариант.

Я использовал это, чтобы получить подключение к работе:

CONNECTION='mysql://remote_user:password@remote_server/remote_database/remote_table';
Другие вопросы по тегам