在 MySQL 中,您可以连接到不同服务器上的多个数据库并在它们之间执行连接。这可以使用 FEDERATED 存储引擎或使用另一个 DBMS(例如 MS SQL Server)中的链接服务器来实现。
FEDERATED 存储引擎允许您创建虚拟引用其他服务器上的表的表。要使用 FEDERATED,您需要创建一个外部数据包装器来指定远程服务器的连接参数。创建外部数据包装器后,您可以创建引用远程表的联合表。然后,可以像任何其他表一样在查询中使用联合表。
以下是如何创建联合表的示例:
CREATE FOREIGN DATA WRAPPER my_wrapper OPTIONS ( HOST 'server2', PORT '3306', USER 'username', PASSWORD 'password' ); CREATE FOREIGN TABLE my_table ( id INT, name VARCHAR(255) ) SERVER my_wrapper OPTIONS ( TABLE_NAME 'my_table' );
创建联合表后,您可以像任何其他表一样在查询中使用它:
SELECT * FROM my_table;
如果您使用 MS SQL Server,您可以使用链接服务器连接到其他不同服务器上的数据库。链接服务器允许您对远程表执行查询,就像它们是本地表一样。
要创建链接服务器,请使用 sp_addlinkedserver 存储过程:
EXEC sp_addlinkedserver @server = 'server2', @srvproduct = 'MySQL'
链接服务器创建后创建后,您可以像任何其他服务器一样在查询中使用它:
SELECT * FROM server2.my_database.dbo.my_table;
以上是如何在 MySQL 和 MS SQL Server 中连接不同服务器上的数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!