Maison base de données tutoriel mysql La différence entre le cluster MySQL et le maître-esclave

La différence entre le cluster MySQL et le maître-esclave

May 09, 2019 pm 02:02 PM
mysql

La différence entre cluster et maître-esclave dans mysql : la cohérence des données est assurée entre maître et esclave via la réplication mysql par rapport à la méthode de synchronisation des données du cluster mysql, elle est asynchrone. Comme il est asynchrone, il peut y avoir un léger retard dans la copie des données entre le maître et l'esclave, et des incohérences peuvent survenir.

La différence entre le cluster MySQL et le maître-esclave

Cours recommandé : Tutoriel MySQL.

La cohérence des données est assurée entre maître et esclave grâce à la réplication mysql. Par rapport à la méthode de synchronisation des données du cluster mysql, elle est asynchrone.

Le cluster utilise PXC (Percona XtraDB Cluster), les données multi-nœuds sont synchronisées en temps réel (lecture et écriture)

A propos de maître-esclave

Maître-esclave peut assurer la séparation de la lecture et de l'écriture, c'est-à-dire que l'opération d'écriture est sur le maître et l'opération de lecture est sur l'esclave. Il existe également plusieurs modes maître-esclave. ne parlez que d'un maître et de plusieurs esclaves.

Par exemple, il existe deux modules commerciaux. Un module écrit en continu les enregistrements de commandes, etc., et l'autre module génère des rapports. Si la séparation de lecture et d'écriture n'est pas adoptée à ce moment, les opérations de lecture et d'écriture le seront. entrer en collision, ce qui peut provoquer des conflits et affecter les performances, si la lecture et l'écriture sont séparées, il n'est pas nécessaire d'envisager de lire et d'écrire la même table pour affecter les performances, et plusieurs esclaves peuvent bien partager la pression sur le serveur et réduire la pression sur un une seule machine.

Le maître et l'esclave utilisent la réplication MySQL pour assurer la cohérence des données. Par rapport à la méthode de synchronisation des données du cluster, elle est asynchrone. En raison de l'asynchrone, il peut y avoir un léger retard dans la copie des données entre le maître et l'esclave. . Des retards et des incohérences se produiront.

La différence entre le cluster MySQL et le maître-esclave

Réplication : le nœud maître doit activer binlog, définir un identifiant de serveur unique (unique dans le réseau local), définir l'identifiant de serveur du nœud esclave, et le binlog enregistre toutes les informations sur le maître. L'opération sera copiée dans le relaylog du nœud esclave et relue sur le nœud esclave.

Mais le maître-esclave présente également des inconvénients. L'un est qu'il ne répond pas à la haute disponibilité. Le maître est en panne et doit être commuté manuellement. L'activité sera interrompue et n'est pas autorisée. 🎜>L'autre est que les données sont incohérentes et non cohérentes. Il existe de nombreuses raisons possibles. Voici quelques-unes des plus courantes

    Le temps d'arrêt est inattendu. peut endommager les fichiers binlog ou relaylog, entraînant une incohérence maître-esclave (il y a un article dans ce blog, qui a été corrigé après le temps d'arrêt)
  • Si défini sql_log_bin=0. est exécuté avant que la bibliothèque principale n'effectue des modifications, la bibliothèque principale n'enregistrera pas le binlog et la bibliothèque esclave ne pourra pas modifier cette partie des données
  • Le format du binlog de la bibliothèque principale is Statement, ce qui peut provoquer une incohérence maître-esclave après la synchronisation avec la bibliothèque esclave.
  • Le nœud esclave n'est pas défini en lecture seule, écrit les données par erreur
  • Les versions des instances maître et esclave sont incohérentes, surtout lorsque la version supérieure est le maître et la version inférieure est l'esclave, les fonctions prises en charge par la base de données maître peuvent ne pas être prises en charge par la base de données esclave. la fonction n'est pas prise en charge
  • BUG MySql
  • Ensuite, vous devez faire attention aux points suivants lorsque vous l'utilisez

    Le binlog de la bibliothèque principale adopte le format ROW
  • Les versions de la base de données des instances maître et esclave doivent être cohérentes
  • La bibliothèque principale doit contrôler les autorisations du compte. Vous pouvez exécuter set sql_log_bin=0
  • Activer la lecture seule à partir de la bibliothèque et ne pas autoriser l'écriture humaine
  • Effectuez régulièrement une vérification de cohérence maître-esclave

À propos du clusterLe plus grand avantage du cluster est le temps réel synchronisation des données, haute disponibilité et les données de chaque nœud sont synchronisées. Cohérent, contrairement au maître-esclave, où une incohérence des données se produit parfois, et haute disponibilité, tout temps d'arrêt du nœud n'affectera pas l'entreprise.

Mais l'inconvénient est la performance, la performance d'écriture. Chaque opération d'écriture sera synchronisée entre tous les nœuds. Il y a des gains et des pertes, ce qui garantit une haute disponibilité et la cohérence des données.

Dans le cluster, il y a un nœud de gestion et plusieurs nœuds SQL et nœuds de données. La réplication synchrone est utilisée entre les nœuds de données pour garantir la cohérence des données entre les nœuds. Généralement, elle est soumise en deux étapes. est la suivante

    Lorsque le maître exécute l'instruction de validation, la transaction est envoyée à l'esclave et l'esclave commence à se préparer à la soumission de la transaction
  • Chaque esclave doit préparer la transaction puis envoyer un message OK (ou ABORT) au maître, indiquant que la transaction est prête (ou que la transaction ne peut pas être préparée)
  • Le maître attend que tous les esclaves envoient un message OK ou ABORT
  • Si le maître reçoit des messages OK de tous les esclaves, il enverra un message de validation à tous les esclaves, indiquant à l'esclave de soumettre le transaction ;

Si le maître reçoit un message ABORT d'un esclave, il envoie un message ABORT à tous les esclaves, indiquant à l'esclave d'abandonner la transaction.

    Chaque esclave attend un message OK ou ABORT du maître
  • Si l'esclave reçoit une demande de validation, il validera la transaction et l'envoyer au Maître envoie une confirmation que la transaction a été validée ;

Si l'Esclave reçoit une demande d'annulation, il annulera toutes les modifications et libérera les ressources qu'il occupe, annulant ainsi la transaction, puis enverra à Masterv la confirmation que le la transaction a été interrompue.

  • Lorsque le maître recevra la confirmation de tous les esclaves, il signalera que la transaction a été validée (ou abandonnée), puis passera à la transaction suivante

Étant donné que la réplication synchrone nécessite un total de 4 transferts de messages, la vitesse de mise à jour des données du cluster mysql est plus lente que celle du mysql autonome. Par conséquent, le cluster MySQL doit fonctionner dans un réseau local supérieur au Gigabit. Les nœuds peuvent utiliser deux cartes réseau et les groupes de nœuds sont directement connectés pour garantir la vitesse de mise à jour des données.

La différence entre le cluster MySQL et le maître-esclave

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Puis-je récupérer le mot de passe de la base de données dans Navicat? Puis-je récupérer le mot de passe de la base de données dans Navicat? Apr 08, 2025 pm 09:51 PM

Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.

MySQL: Concepts simples pour l'apprentissage facile MySQL: Concepts simples pour l'apprentissage facile Apr 10, 2025 am 09:29 AM

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Comment créer Navicat Premium Comment créer Navicat Premium Apr 09, 2025 am 07:09 AM

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

Comment afficher le mot de passe de la base de données dans NAVICAT pour MARIADB? Comment afficher le mot de passe de la base de données dans NAVICAT pour MARIADB? Apr 08, 2025 pm 09:18 PM

NAVICAT pour MARIADB ne peut pas afficher directement le mot de passe de la base de données car le mot de passe est stocké sous forme cryptée. Pour garantir la sécurité de la base de données, il existe trois façons de réinitialiser votre mot de passe: réinitialisez votre mot de passe via Navicat et définissez un mot de passe complexe. Affichez le fichier de configuration (non recommandé, haut risque). Utilisez des outils de ligne de commande système (non recommandés, vous devez être compétent dans les outils de ligne de commande).

MySQL et SQL: Compétences essentielles pour les développeurs MySQL et SQL: Compétences essentielles pour les développeurs Apr 10, 2025 am 09:30 AM

MySQL et SQL sont des compétences essentielles pour les développeurs. 1.MySQL est un système de gestion de base de données relationnel open source, et SQL est le langage standard utilisé pour gérer et exploiter des bases de données. 2.MySQL prend en charge plusieurs moteurs de stockage via des fonctions de stockage et de récupération de données efficaces, et SQL termine des opérations de données complexes via des instructions simples. 3. Les exemples d'utilisation comprennent les requêtes de base et les requêtes avancées, telles que le filtrage et le tri par condition. 4. Les erreurs courantes incluent les erreurs de syntaxe et les problèmes de performances, qui peuvent être optimisées en vérifiant les instructions SQL et en utilisant des commandes Explication. 5. Les techniques d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'améliorer la lisibilité du code.

Comment créer une nouvelle connexion à MySQL dans Navicat Comment créer une nouvelle connexion à MySQL dans Navicat Apr 09, 2025 am 07:21 AM

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Comment exécuter SQL dans Navicat Comment exécuter SQL dans Navicat Apr 08, 2025 pm 11:42 PM

Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).

See all articles