在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中文網其他相關文章!