MySQL - 是否必须在两台服务器上启用联合引擎?

时间:2017-02-22 12:15:24

标签: mysql federated

我正在尝试运行单个MySQL查询,在两台服务器上连接两个数据库。 我知道潜在的糟糕表现,但无论如何都要测试。

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

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

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

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

本地服务器表创建正常,虽然remote_userremote_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 个答案:

答案 0 :(得分:0)

在两个服务器上都启用

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

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

我用它来连接工作:

CONNECTION='mysql://remote_user:password@remote_server/remote_database/remote_table';