Maison > Article > base de données > Comment implémenter des opérations de données inter-serveurs et inter-bases de données dans MySQL ?
MySQL est un système de gestion de bases de données relationnelles open source largement utilisé pour le stockage de données et la gestion d'applications Web. Dans les scénarios d'application réels, nous devons souvent mettre en œuvre des opérations entre serveurs et entre bases de données sur les données, telles que la synchronisation des données, la migration des données ou la gestion distribuée des données entre plusieurs bases de données.
Ce qui suit présente les méthodes et les exemples de codes sur la façon d'implémenter des opérations de données inter-serveurs et inter-bases de données dans MySQL.
Tout d'abord, nous devons activer le moteur de stockage fédéré sur le serveur MySQL. Ajoutez la configuration suivante dans le fichier de configuration my.cnf :
[mysqld] federated = ON
Créez ensuite une table fédérée dans la base de données et précisez les informations du serveur MySQL distant pour vous connecter :
CREATE TABLE federated_table ( id INT(11) AUTO_INCREMENT, data VARCHAR(100), PRIMARY KEY (id) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://[用户名]:[密码]@[远程MySQL服务器IP地址]:[端口号]/[数据库名]/[远程表名]';
Dans le code ci-dessus, [nom d'utilisateur], [mot de passe] , [Adresse IP du serveur MySQL distant], [Numéro de port], [Nom de la base de données], [Nom de la table distante] doivent être remplacés en fonction de la situation réelle. Une fois la création réussie, nous pouvons effectuer des opérations de données inter-serveurs en exploitant cette table fédérée.
Tout d'abord, configurez sur la base de données principale. Ajoutez la configuration suivante dans le fichier de configuration my.cnf :
[mysqld] server-id=1 log_bin=mysql-bin binlog_format=row
Redémarrez ensuite le service MySQL.
Configurer sur la base de données esclave. Ajoutez la configuration suivante dans le fichier de configuration my.cnf :
[mysqld] server-id=2
Redémarrez ensuite le service MySQL.
Créez un compte de réplication sur la base de données maître et accordez les autorisations de réplication :
CREATE USER 'repl_user'@'从数据库IP地址' IDENTIFIED BY 'repl_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'从数据库IP地址';
Parmi elles, l'adresse IP de la base de données esclave doit être remplacée par l'adresse IP réelle de la base de données esclave.
Vérifiez ensuite le nom du fichier et l'emplacement du journal binaire sur la base de données principale :
SHOW MASTER STATUS;
Enregistrez les valeurs de Fichier et Position.
Définissez les informations répliquées sur la base de données esclave :
CHANGE MASTER TO MASTER_HOST='主数据库IP地址', MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', MASTER_LOG_FILE='二进制日志的文件名', MASTER_LOG_POS=二进制日志的位置;
Parmi elles, l'adresse IP de la base de données maître doit être remplacée par l'adresse IP réelle de la base de données maître, et le nom de fichier et l'emplacement du journal binaire doivent utiliser les valeurs enregistré à l’étape précédente.
Ensuite, démarrez le processus de réplication sur la base de données esclave :
START SLAVE;
Vous pouvez vérifier l'état du processus de réplication via la commande SHOW SLAVE STATUSG.
De cette manière, les opérations de modification des données sur la base de données maître seront synchronisées avec la base de données esclave, réalisant ainsi des opérations de données inter-serveurs.
En résumé, MySQL peut réaliser des opérations de données entre serveurs et entre bases de données via le moteur de stockage fédéré et la fonction de réplication de réplication. Les développeurs peuvent choisir des méthodes appropriées pour effectuer des opérations de données entre serveurs et entre bases de données en fonction des besoins réels.
Les méthodes et exemples de codes ci-dessus pour implémenter des opérations de données entre serveurs et bases de données dans MySQL. J'espère que cela vous sera utile.
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!