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';