マルチサーバー 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 ストレージ エンジンまたは FEDERATED ストレージ エンジンのいずれかを使用して実現できます。データ統合層としての中間データベース。どちらの方法でも、異なるサーバー上の複数のデータベースにわたるシームレスなデータ統合と操作が可能になります。
以上がPython を使用して異なるサーバー上の MySQL データベースに参加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。