在多伺服器 MySQL 環境中,可能需要跨駐留在不同實體伺服器上的資料庫連接表。本文探討如何使用Python的MySQLDB模組來實現這種伺服器間連線。
MySQL提供了FEDERATED儲存引擎,它允許跨多個資料庫定義表在不同的伺服器上。此方法涉及建立一個「聯合」資料庫,其中包含對遠端伺服器上的表的參考。若要建立聯合,請使用下列語法:
CREATE TABLE federated_table ( ... ) ENGINE=FEDERATED DEFAULT CONNECTION='connection_string'
將「connection_string」替換為遠端伺服器的連線參數。
作為 FEDERATED 儲存引擎的替代方案,您可以使用中間資料庫作為資料整合層。建立與中間資料庫的連接並建立引用遠端資料庫中的表的視圖。然後,對中間資料庫中的視圖執行聯結。
兩種方法都使用Python 的MySQLDB 模組,以下程式碼示範了伺服器間聯接:
import MySQLdb # Establish connections to the remote databases conn_server1 = MySQLdb.connect(...) conn_server2 = MySQLdb.connect(...) # Create cursors cursor1 = conn_server1.cursor() cursor2 = conn_server2.cursor() # Intermediate database approach # Create a view in the intermediate database cursor1.execute(...) # Perform the join on the view cursor1.execute(...) # FEDERATED approach # Create a federated table cursor1.execute(...) # Perform the join on the federated table cursor1.execute(...)
MySQL 中的伺服器間連線可以使用FEDERATED 儲存引擎或中間媒體來實作資料庫作為資料整合層。兩種方法都允許跨不同伺服器上的多個資料庫進行無縫資料整合和操作。
以上是如何使用Python連接不同伺服器上的MySQL資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!