【问题标题】:MySQL - Does Federated Engine have to be enabled on both servers?MySQL - 是否必须在两台服务器上启用联合引擎?
【发布时间】:2017-02-22 12:15:23
【问题描述】:

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

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

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

两个表(live 和 federated)具有相同的定义/架构,并且本地服务器上的联合表已定义:

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 引擎吗?

如果没有,我还需要做什么才能获得联合表 上班?

【问题讨论】:

    标签: mysql federated


    【解决方案1】:

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

    原来remote_user 用户需要PASSWORD 选项。

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

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

    【讨论】:

    • 所以要特别清楚“仅存储联合表的本地服务器”,这意味着它需要在您使用创建联合表的服务器上启用ENGINE=FEDERATED.... 如果 federated 不在[mysqld] 部分下的 mysql ini 配置文件中,那么您将看到有关 MySQL 不支持联合文件系统类型或其他内容的错误为此。
    猜你喜欢
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多