Maison >base de données >tutoriel mysql >Comment rejoindre des bases de données MySQL sur différents serveurs à l'aide de Python ?
Dans un environnement MySQL multi-serveurs, il peut être nécessaire de joindre des tables sur des bases de données résidant sur différents serveurs physiques. Cet article explique comment réaliser cette jointure inter-serveurs à l'aide du module MySQLDB de Python.
MySQL fournit le moteur de stockage FÉDÉRÉ, qui permet de définir des tables dans plusieurs bases de données. sur différents serveurs. Cette approche implique la création d'une base de données « fédérée » contenant une référence à une table sur un serveur distant. Pour établir la fédération, utilisez la syntaxe suivante :
CREATE TABLE federated_table ( ... ) ENGINE=FEDERATED DEFAULT CONNECTION='connection_string'
Remplacez "connection_string" par les paramètres de connexion du serveur distant.
Comme alternative au moteur de stockage FEDERATED, vous pouvez utiliser une base de données intermédiaire comme couche d'intégration de données. Établissez une connexion à la base de données intermédiaire et créez des vues faisant référence aux tables des bases de données distantes. Ensuite, effectuez des jointures sur les vues au sein de la base de données intermédiaire.
En utilisant le module MySQLDB de Python pour les deux approches, le code suivant démontre la jointure inter-serveur :
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(...)
Les jointures inter-serveurs dans MySQL peuvent être réalisées en utilisant soit le moteur de stockage FEDERATED, soit une base de données intermédiaire comme couche d'intégration de données. Les deux méthodes permettent une intégration et une manipulation transparentes des données dans plusieurs bases de données sur différents serveurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!