


Configuration de la réplication MySQL pour la haute disponibilité
Jul 06, 2025 am 02:47 AMLes étapes de configuration de la réplication ma?tre-esclave MySQL incluent: 1. Préparez l'environnement du serveur ma?tre-esclave, assurez des versions cohérentes et de la communication réseau, configurez différents serveurs et activez les journaux binaires; 2. Créez un compte de réplication dédié dans la bibliothèque ma?tre et autorisez-le; 3. Utilisez MySQLDump pour initialiser les données de la bibliothèque des esclaves et les importer; 4. Exécutez la commande Change Master pour démarrer le thread de réplication et vérifier l'état; 5. Configuration éventuellement de basculement automatique, obtenez une haute disponibilité avec des outils externes ou changez manuellement la bibliothèque ma?tre et ajustez la relation de réplication pour assurer la cohérence des données.
La réplication MySQL Master-Slave est un moyen de base pour implémenter une architecture hautement disponible. Si vous êtes configuré correctement, vous pouvez rapidement passer à la bibliothèque des esclaves lorsque la bibliothèque ma?tre ne garantit pas la continuité du service. La clé est d'assurer la stabilité du lien de réplication, d'assurer la cohérence des données et de coopérer avec les mécanismes de surveillance et de commutation appropriés.

1. Préparez l'environnement du serveur ma?tre-esclave
Avant de commencer, vous avez besoin d'au moins deux serveurs: l'un comme ma?tre et l'autre ou multiple comme esclave. Il est recommandé que les versions MySQL de ces deux serveurs soient cohérentes et que les systèmes d'exploitation soient aussi similaires que possible pour réduire les problèmes de compatibilité.

- Assurer l'interopérabilité du réseau, la bibliothèque ma?tre permet à la bibliothèque des esclaves d'accéder à son port 3306
-
server-id
du serveur ma?tre et esclave est différent, ce qui est l'une des exigences de base pour la réplication. - Allumez la fonction de journal binaire de la bibliothèque principale car la réplication en dépend pour enregistrer les modifications de données
Par exemple, ajoutez le fichier de configuration de la bibliothèque principale (tel que /etc/my.cnf
):
server-id = 1 log-bin = mysql-bin
La bibliothèque d'esclaves définit un autre server-id
, tel que 2, et peut également activer le mode en lecture seule pour éviter la mauvaise opération de l'écriture:

serveur-id = 2 read_only = 1
Après modification, redémarrez le service MySQL pour activer la configuration.
2. Créez un compte de copie dédié
Pour des raisons de sécurité, n'utilisez pas de root ou d'autres utilisateurs avec des autorisations excessives à copier. Un compte doit être créé spécifiquement pour la réplication et les autorisations REPLICATION SLAVE
accordées.
Exécutez la commande suivante sur la bibliothèque principale:
Créer l'utilisateur ?REPL '@? à partir de la bibliothèque IP ?identifiée par? Mot de passe sécurisé ?; GRANTION SLAVE DE RéPLICATION SUR *. * à 'REPL' @ 'From Library IP'; Privilèges de rin?age;
Veillez à remplacer從庫(kù)IP
pour vous assurer que l'utilisateur ne peut se connecter qu'à partir de l'IP spécifiée.
3. Initialiser les données de base de données esclaves
Pour garder les données ma?tre-esclaves cohérentes, les données de la bibliothèque ma?tre doivent être entièrement importées dans la bibliothèque des esclaves. Vous pouvez utiliser mysqldump
pour exporter les données de la bibliothèque principales:
mysqldump -u root -p --tall-databases --mater-data> dump.sql
Ensuite, transférez ce fichier de vidage dans la bibliothèque d'esclaves et import:
mysql -u root -p <dump.sql
Une fois l'importation terminée, l'état des données de la bibliothèque d'esclaves est conforme à l'exportation de la bibliothèque ma?tre.
4. Démarrez le processus de réplication
Exécutez la commande SQL suivante dans la bibliothèque des esclaves, connectez-vous à la bibliothèque principale et démarrez le thread de copie:
Changer de ma?tre en Ma?tre_host = 'la bibliothèque principale ip', Master_User = 'REPL', Ma?tre_password = 'mot de passe', Ma?tre_log_file = 'mysql-bin.000001', Ma?tre_log_pos = 4; Commencer l'esclave;
Les valeurs de MASTER_LOG_FILE
et MASTER_LOG_POS
proviennent de l'instruction Master Change dans le fichier de vidage généré lorsque vous exécutez mysqldump
.
Vous pouvez utiliser la commande suivante pour vérifier si l'état de la copie est normal:
Afficher le statut d'esclave \ g
Concentrez-vous sur la question de savoir si Slave_IO_Running
et Slave_SQL_Running
sont tous les deux oui.
5. Configurer le basculement automatique (facultatif)
Le mécanisme de réplication de MySQL ne prend pas en charge le basculement automatique lui-même et doit être implémenté avec des outils externes ou des middleware, tels que MHA (ma?tre haute disponibilité), orchestrator ou utilisant des solutions de haute disponibilité fournies par les fournisseurs de cloud.
Si vous changez simplement manuellement, vous pouvez une fois la bibliothèque principale:
- Vérifiez l'état de copie de la bibliothèque des esclaves et confirmez que vous avez rattrapé la bibliothèque principale
- Pointer l'application vers la nouvelle bibliothèque ma?tre (bibliothèque d'esclaves d'origine)
- Vous pouvez restaurer l'ancienne bibliothèque Master en tant que bibliothèque d'esclaves de la nouvelle bibliothèque ma?tresse
Cette étape doit être gérée avec prudence, sinon il est facile de provoquer une incohérence des données.
Fondamentalement, ces étapes. Bien que le processus de configuration ne soit pas compliqué, chaque détail est critique, en particulier en termes d'autorisations de réseau, de l'emplacement du journal et de la sécurité des comptes de réplication. Une légère négligence peut entra?ner une défaillance de la réplication ou des risques de sécurité.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Introduction à la fa?on de mettre en ?uvre l'équilibrage de charge et la haute disponibilité dans FastAPI?: Avec le développement d'applications Internet, les exigences en matière d'équilibrage de charge et de haute disponibilité du système sont de plus en plus élevées. FastAPI est un framework Web hautes performances basé sur Python qui offre un moyen simple et puissant de créer, déployer et faire évoluer des applications Web. Cet article explique comment implémenter l'équilibrage de charge et la haute disponibilité dans FastAPI et fournit des exemples de code correspondants. Utiliser Nginx pour réaliser l'équilibrage de chargeNginx est un outil populaire

Construire un système d'équilibrage de charge à haute disponibilité : bonnes pratiques pour NginxProxyManager Introduction : Dans le développement d'applications Internet, le système d'équilibrage de charge est l'un des composants essentiels. Il peut obtenir des services à haute concurrence et haute disponibilité en distribuant les requêtes à plusieurs serveurs. NginxProxyManager est un logiciel d'équilibrage de charge couramment utilisé. Cet article explique comment utiliser NginxProxyManager pour créer un système d'équilibrage de charge à haute disponibilité et fournir.

Introduction au guide de configuration Webman pour la mise en ?uvre de la haute disponibilité des sites Web?: à l'ère numérique d'aujourd'hui, les sites Web sont devenus l'un des canaux commerciaux importants pour les entreprises. Afin d'assurer la continuité des activités et l'expérience utilisateur de l'entreprise et de garantir que le site Web soit toujours disponible, la haute disponibilité est devenue une exigence fondamentale. Webman est un puissant outil de gestion de serveur Web qui fournit une série d'options de configuration et de fonctions qui peuvent nous aider à réaliser une architecture de site Web à haute disponibilité. Cet article présentera quelques guides de configuration Webman et des exemples de code pour vous aider à atteindre les hautes performances de votre site Web.

Solution de haute disponibilité et de reprise après sinistre de la solution d'équilibrage de charge Nginx Avec le développement rapide d'Internet, la haute disponibilité des services Web est devenue une exigence clé. Afin d'atteindre une haute disponibilité et une tolérance aux catastrophes, Nginx a toujours été l'un des équilibreurs de charge les plus couramment utilisés et les plus fiables. Dans cet article, nous présenterons les solutions de haute disponibilité et de reprise après sinistre de Nginx et fournirons des exemples de code spécifiques. La haute disponibilité de Nginx est principalement obtenue grace à l'utilisation de plusieurs serveurs. En tant qu'équilibreur de charge, Nginx peut distribuer le trafic vers plusieurs serveurs backend pour

Avec l’avènement de l’ère Internet, les systèmes de file d’attente de messages sont devenus de plus en plus importants. Il permet des opérations asynchrones entre différentes applications, réduit le couplage et améliore l'évolutivité, améliorant ainsi les performances et l'expérience utilisateur de l'ensemble du système. Dans le système de file d'attente de messages, RabbitMQ est un puissant logiciel de file d'attente de messages open source. Il prend en charge une variété de protocoles de messages et est largement utilisé dans les transactions financières, le commerce électronique, les jeux en ligne et d'autres domaines. Dans les applications pratiques, il est souvent nécessaire d'intégrer RabbitMQ à d'autres systèmes. Cet article explique comment utiliser sw

Comment utiliser Workerman pour créer un système d'équilibrage de charge à haute disponibilité nécessite des exemples de code spécifiques. Dans le domaine de la technologie moderne, avec le développement rapide d'Internet, de plus en plus de sites Web et d'applications doivent gérer un grand nombre de requêtes simultanées. Afin d’atteindre une haute disponibilité et des performances élevées, le système d’équilibrage de charge est devenu l’un des composants essentiels. Cet article explique comment utiliser le framework open source PHP Workerman pour créer un système d'équilibrage de charge à haute disponibilité et fournit des exemples de code spécifiques. 1. Introduction à Workerman Worke

Avec le développement des applications Web, l’attention se porte de plus en plus sur la manière d’améliorer les performances des applications. Le r?le de la mise en cache est de compenser le trafic élevé et les charges occupées et d'améliorer les performances et l'évolutivité des applications Web. Dans un environnement distribué, la manière de mettre en ?uvre la mise en cache haute disponibilité est devenue une technologie importante. Cet article présentera comment utiliser certains outils et frameworks fournis par go-zero pour implémenter un cache distribué à haute disponibilité, et discutera brièvement des avantages et des limites de go-zero dans les applications pratiques. 1. Que se passe-t-il ?

MySQL est un système de gestion de bases de données relationnelles très populaire, offrant de bonnes performances et stabilité. C'est un logiciel de base de données largement utilisé par de nombreuses entreprises et organisations. Dans MySQL, la réplication des données est une fonctionnalité très importante, qui permet de synchroniser les données entre plusieurs serveurs de bases de données pour garantir la sécurité et la fiabilité des données. Les techniques de mise en miroir pour configurer la réplication des données MySQL sont le sujet de cet article. Le concept de base de la réplication de données MySQL Dans MySQL, la réplication de données fait référence à la copie de données dans une instance MySQL.
