2

我正在尝试运行单个 MySQL 查询,将两个数据库连接到两台服务器上。我知道潜在的性能不佳,但无论如何都想测试。

这个测试的目的是,我在一个 Windows 域上工作,有一个开发(本地)服务器和一个实时(远程)服务器。

本地服务器有FEDERATED引擎enabled和存储实际数据的远程服务器,但FEDERATED引擎是disabled.

两个表(实时表和联合表)具有相同的定义/模式,并且本地服务器上的联合表已定义:

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

本地服务器表创建良好,虽然remote_userandremote_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启用引擎吗?

如果没有,我还需要做什么才能使联合表正常工作吗?

4

1 回答 1

2

FEDERATED不需要在两台服务器上启用引擎选项,在这种情况下,只需要启用存储联邦表的本地服务器。

事实证明,remote_user用户需要该PASSWORD选项。

我用它来使连接正常工作:

CONNECTION='mysql://remote_user:password@remote_server/remote_database/remote_table';
于 2017-02-22T12:49:16.817 回答