我正在尝试运行单个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
引擎?
如果没有,我还需要做什么来获取联合表 工作?
答案 0 :(得分:0)
FEDERATED
引擎选项 ,在这种情况下,只有存储联合表的本地服务器,需要启用。
事实证明,remote_user
用户需要PASSWORD
选项。
我用它来连接工作:
CONNECTION='mysql://remote_user:password@remote_server/remote_database/remote_table';