Comment implémenter la réplication maître-esclave de la base de données MySQL en PHP

PHPz
Libérer: 2023-05-17 08:40:01
original
1291 Les gens l'ont consulté

Avec le développement rapide d'Internet, les applications Web intègrent de plus en plus les opérations de bases de données. MySQL est un système de base de données relationnelle de renommée mondiale et largement utilisé. Dans les applications Web hautement concurrentes, la réplication maître-esclave MySQL est un moyen important d'améliorer les performances et la disponibilité des bases de données. Cet article explique comment utiliser PHP pour implémenter la réplication maître-esclave de la base de données MySQL.

1. Qu'est-ce que la réplication maître-esclave MySQL ?

La réplication maître-esclave MySQL fait référence à la copie des données d'un serveur de base de données MySQL vers un autre serveur pour maintenir la cohérence des données des deux serveurs MySQL. L'un des serveurs est appelé serveur maître et est responsable de la mise à jour des données en temps réel ; l'autre serveur est appelé serveur esclave et est responsable de la synchronisation des données du serveur maître. La réplication maître-esclave peut améliorer l'évolutivité et la tolérance aux pannes du système. Par exemple, lorsque le serveur principal tombe en panne, le serveur esclave peut reprendre le travail du serveur principal pour assurer le fonctionnement normal de l'entreprise.

2. Le principe de mise en œuvre de la réplication maître-esclave

Le principe de mise en œuvre de la réplication maître-esclave est le suivant :

  1. Le serveur maître enregistre l'opération de mise à jour dans le journal binaire (Binary Log).
  2. Connectez le serveur esclave au serveur maître, demandez à obtenir le journal binaire qui doit être synchronisé et copiez-le dans son propre journal.
  3. Le serveur esclave exécute les opérations de mise à jour du journal binaire du serveur maître dans sa propre base de données pour garantir la cohérence des données des deux bases de données.

3. Comment implémenter la réplication maître-esclave en PHP

  1. Configurez le journal binaire du serveur principal

Le serveur principal doit activer la fonction de journal binaire dans le fichier de configuration my.cnf. Ouvrez le fichier my.cnf et ajoutez la configuration suivante dans la section [mysqld] :

server-id=1
log-bin=/var/log/mysql/mysql-bin.log
Copier après la connexion

Parmi eux, server-id est utilisé pour identifier le serveur principal et log-bin est utilisé pour spécifier le chemin du fichier journal.

  1. Configurez les informations du serveur maître du serveur esclave

Le serveur esclave doit ajouter les informations de connexion du serveur maître dans le fichier de configuration my.cnf. Ouvrez le fichier my.cnf et ajoutez la configuration suivante dans la section [inisd_client] :

server-id=2
master-host=10.0.0.1
master-user=repl_user
master-password=repl_password
master-port=3306
Copier après la connexion

Parmi eux, server-id est utilisé pour identifier le serveur esclave, master-host précise l'adresse IP du serveur maître, master-user et master-password spécifient le maître Le nom d'utilisateur et le mot de passe du serveur, master-port spécifie le numéro de port du serveur maître.

  1. Créer un utilisateur de réplication

Créez un utilisateur sur le serveur maître pour la réplication des données et autorisez l'utilisateur à lire le journal binaire. Ouvrez le client MySQL et exécutez la commande suivante :

mysql> CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
Copier après la connexion
  1. Démarrez le processus de réplication dans le serveur esclave

Exécutez la commande suivante dans le client MySQL du serveur esclave pour démarrer le processus de réplication :

mysql> CHANGE MASTER TO MASTER_HOST='10.0.0.1', 
  MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', 
  MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;
mysql> START SLAVE;
Copier après la connexion

Parmi eux, MASTER_LOG_FILE et MASTER_LOG_POS peuvent être dans la recherche principale dans le journal binaire du serveur.

Après avoir terminé les étapes ci-dessus, le serveur esclave copiera les données du serveur maître pour maintenir la cohérence des données dans les deux bases de données.

4. Résumé

La réplication maître-esclave MySQL est une technologie importante pour améliorer les performances et la disponibilité du système. Il est très simple d'implémenter la réplication maître-esclave MySQL à l'aide de PHP. Il vous suffit d'activer le journal binaire sur le serveur maître, de configurer les informations du serveur maître sur le serveur esclave, de créer un utilisateur de réplication et de démarrer le processus de réplication. Dans les environnements de production réels, il convient de veiller à l'utilisation de moyens techniques appropriés pour faciliter l'exploitation et la maintenance des bases de données afin de garantir la stabilité et la sécurité des services de bases de données.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!