【问题标题】:How to create linked server MySQL如何创建链接服务器 MySQL
【发布时间】:2011-07-19 06:19:15
【问题描述】:

是否可以为 SQL Server 的链接服务器等功能创建/配置 MySQL?

如果是,请告诉我怎么做?我正在使用 MySQL 5.5。

【问题讨论】:

    标签: mysql linked-server


    【解决方案1】:

    MySQL 的FEDERATED engine 提供类似于 SQL Server 的链接服务器(和 Oracle 的 dblink)功能的功能,但不支持连接到 MySQL 以外的供应商。从问题中不清楚您是否需要连接到 MySQL 以外的供应商的功能。

    您可能想查看MySQL Proxy。这与 Linked Servers/dblink 的架构不匹配,但您可能可以解决一组类似的问题,您将使用 Linked Servers/dblink 来解决。

    【讨论】:

    • FEDERATED 很棒。但是,也许你现在有办法向其他服务器发送类似这样的地址(如 SQL Server 或 postgres/oracle dblink) - OTHER_SERVER.remote_table?因为将来会有很多这样的故事 - table_name_1...table_name_X。而且我必须动态生成查询。并且在“联合”情况下,必须在本地机器上创建表。感谢您的提前。
    • @Tioma:见How to Use FEDERATED Tables——不支持 OTHER_SERVER 规范,您只需将信息合并到表名中。如果您希望看到类似于链接服务器/等的功能/支持,您最好要么投票支持现有的功能请求,要么使用 MySQL/Oracle 记录您自己的功能请求。
    • 根据提供的文档链接,我只看到在远程服务器上创建表的方法。但是如何从远程服务器链接现有表?请帮忙。
    【解决方案2】:

    MySQL 数据控制器是联邦引擎的后续产品,它允许连接到不同的数据库类型,例如 Microsoft SQL Server 或 Oracle。我还不确定开发进展如何。

    见:http://en.wikipedia.org/wiki/MySQL_DataController

    或:https://launchpad.net/datacontroller

    【讨论】:

      【解决方案3】:

      我是 MySQL 数据控制器的开发人员。不幸的是,由于我们没有请求,我们已经停止了它的开发。该插件在 MySQL 连接到 Oracle、MSSQL 或 MySQL 时 100% 正常运行。

      根据一些要求,我们添加了一个关于它的博客和视频:

      http://www.acentera.com/mysql-datacontroller/

      问候, 弗朗西斯 L.

      【讨论】:

        【解决方案4】:

        很遗憾,您无法像使用 MS SQL 那样将整个 MySQL 数据库链接到另一个 MySQL 数据库。但是,您可以链接各个表。联合表是您创建的指向另一台服务器上的表的本地表。

        您可以像运行任何其他表一样运行查询和存储过程。这两个表必须具有相同的结构,但 Federated 表使用不同的数据库引擎:Federated。如果您对远程表的结构进行任何更改,您应该重新创建本地联合表。

        这个过程其实很简单,举个例子:https://docs.oracle.com/cd/E17952_01/mysql-5.0-en/federated-use.html

        根据我的经验,即使与链接服务器相比,创建和实施此过程所需的时间也很少。让您的第一个联合表正常工作应该需要不到 30 分钟,然后是 5 分钟的过程。最后一项,在给你的联邦表命名时,我给它取了和远程表一样的名字,前面加了一个“federated_”,比如 federated_customer。

        此外,将您的联合表定义存储为单独的存储过程,以便您可以在需要再次创建联合表时重复使用它们,并且其他开发人员可以看到您是如何生成联合表的。

        【讨论】:

        • MySQL 无法访问链接服务器是我们选择不在我们的一个项目中使用它并选择 MSQ SQL 的原因之一。 MS SQL Server 能够在同一服务器上执行链接服务器和跨不同数据库查询的能力是一个巨大的胜利。然而,Azure 是一个完全不同的球类游戏。 SQL Server for Azure 不允许您在不创建联合表的情况下跨数据库查询!他们称它们为“弹性表”.. 一个非常糟糕的解决方案的花哨名称。联合表并不难,但没有必要
        猜你喜欢
        • 2012-12-20
        • 2012-07-21
        • 2018-07-19
        • 2021-07-18
        • 1970-01-01
        • 2020-04-28
        • 1970-01-01
        • 2016-10-06
        • 1970-01-01
        相关资源
        最近更新 更多