MySQL - 是否必须在两台服务器上启用联合引擎?
MySQL - Does Federated Engine have to be enabled on both servers?
我正在尝试 运行 单个 MySQL 查询,连接两台服务器上的两个数据库。
我知道潜在的性能不佳,但无论如何都想测试。
这个测试的目的,我正在 Windows 域上工作,有一个开发(本地)服务器和一个实时(远程)服务器。
本地服务器有FEDERATED
引擎enabled
和存储实际数据的远程服务器,但FEDERATED
引擎是disabled
。
两个 table(实时和联合)具有相同的 definition/schema,并且已定义本地服务器上的联合 table:
ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://remote_user@remote_server/remote_database/remote_table';
本地服务器 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
引擎吗?
如果没有,我还需要做些什么来获得联邦 table
上班?
FEDERATED
引擎选项不需要在两台服务器上都启用,在这种情况下,只有本地服务器存储联合 table 的位置,需要启用。
原来 remote_user
用户需要 PASSWORD
选项。
我用它来建立连接:
CONNECTION='mysql://remote_user:password@remote_server/remote_database/remote_table';
我正在尝试 运行 单个 MySQL 查询,连接两台服务器上的两个数据库。 我知道潜在的性能不佳,但无论如何都想测试。
这个测试的目的,我正在 Windows 域上工作,有一个开发(本地)服务器和一个实时(远程)服务器。
本地服务器有FEDERATED
引擎enabled
和存储实际数据的远程服务器,但FEDERATED
引擎是disabled
。
两个 table(实时和联合)具有相同的 definition/schema,并且已定义本地服务器上的联合 table:
ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://remote_user@remote_server/remote_database/remote_table';
本地服务器 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
引擎吗?
如果没有,我还需要做些什么来获得联邦 table 上班?
FEDERATED
引擎选项不需要在两台服务器上都启用,在这种情况下,只有本地服务器存储联合 table 的位置,需要启用。
原来 remote_user
用户需要 PASSWORD
选项。
我用它来建立连接:
CONNECTION='mysql://remote_user:password@remote_server/remote_database/remote_table';