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 ?

Comment implémenter des opérations de données inter-serveurs et inter-bases de données dans MySQL ?

WBOY
WBOYoriginal
2023-07-30 14:39:191900parcourir

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.

  1. Utiliser le moteur de stockage fédéré
    Le moteur de stockage fédéré est un moteur de stockage fourni par MySQL, grâce à ce moteur de stockage, nous pouvons créer une table dans une instance MySQL connectée à d'autres serveurs MySQL, réalisant ainsi des opérations de données entre serveurs. .

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.

  1. Utilisez la fonction de réplication
    La fonction de réplication de MySQL peut copier des données d'un serveur MySQL vers d'autres serveurs MySQL pour réaliser des opérations de données entre serveurs.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn