Surveiller la réplication MySQL

Vous pouvez surveiller l'activité et les mesures de réplication MySQL pour les systèmes de base de données HeatWave et MySQL externes dans Database Management.

MySQL dispose d'une fonctionnalité intégrée qui permet la réplication des données d'un serveur MySQL vers un ou plusieurs serveurs MySQL, ce qui permet un basculement transparent, des opérations de lecture distribuées et une redondance efficace des données. La réplication MySQL offre de la flexibilité grâce à différents types de réplication, chacun présentant des caractéristiques et des avantages distincts adaptés à des cas d'utilisation spécifiques. Voici quelques types de réplication MySQL importants :

  • Réplication asynchrone : la réplication MySQL traditionnelle, qui permet de copier les données d'un serveur MySQL, connu sous le nom de source, vers un ou plusieurs serveurs MySQL appelés répliques. La réplication est asynchrone par défaut ; les répliques n'ont pas besoin d'être connectées définitivement pour recevoir les mises à jour d'une source. La réplication asynchrone peut être configurée pour établir des protocoles de transfert de données de l'une des manières suivantes :
    • Réplication entrante : utilise un canal de réplication configuré sur ce serveur MySQL pour recevoir et appliquer des transactions à partir d'une source externe.
    • Réplication sortante : utilise un canal de réplication pour envoyer des transactions de ce serveur MySQL vers un autre emplacement. Le canal est toujours configuré sur la réplique. Si la réplique est un système de base de données HeatWave, le canal est configuré dans le service HeatWave.
  • Réplication de groupe : solution haute disponibilité qui permet à un ensemble de serveurs MySQL de fonctionner comme un groupe cohérent, garantissant la cohérence des données et la tolérance aux pannes. Chaque serveur MySQL conserve une copie complète des données et communique avec les autres membres du groupe via la transmission de messages. La couche de communication fournit un ensemble de garanties telles que le message atomique et la livraison totale des messages de commande.

Afin d'obtenir des informations sur les sujets suivants, reportez-vous aux rubriques indiquées :

Dans Database Management, vous pouvez surveiller la réplication d'un système de base de données, ce qui est essentiel pour assurer la cohérence des données, les performances et la haute disponibilité. La surveillance de la réplication MySQL vous offre la visibilité et le contrôle nécessaires pour gérer efficacement des environnements de base de données complexes. Il vous permet de résoudre les problèmes de manière proactive, d'optimiser les performances et de vous assurer que la configuration de réplication répond à vos besoins en matière de gestion des données.

Pour accéder à la section Réplication, accédez à la page Détails de la base de données MySQL et cliquez sur Réplication dans le panneau de gauche sous Ressources.

Remarque

  • Pour les systèmes de base de données HeatWave, l'option Réplication sous Ressources n'est affichée que si l'option Surveillance complète est sélectionnée lors de l'activation de Database Management. Pour obtenir des informations, reportez-vous à Activation de Database Management pour HeatWave.
  • Pour les systèmes de base de données MySQL externes, si l'utilisateur de surveillance ne dispose pas du privilège REPLICATION CLIENT ou REPLICATION SLAVE, les informations ne sont pas affichées dans la section Réplication et une erreur est affichée.
  • Pour les systèmes de base de données HeatWave, les détails de réplication et les paramètres de configuration répertoriés dans l'onglet Récapitulatif, Haute disponibilité et Journal binaire ci-dessous ne sont pas tous affichés.

Dans la section Réplication, vous pouvez surveiller les informations de configuration et les mesures de réplication dans les onglets suivants :

  • Onglet Récapitulatif : affiche les différents paramètres et mesures de configuration de réplication pour le serveur MySQL.
    • Configuration : dans cette section, les paramètres de configuration de réplication suivants sont affichés :
      • Instance : serveur MySQL dans la configuration de réplication.
      • Entrant : nombre de canaux de réplication où le serveur MySQL reçoit des données d'un autre serveur. Indique si le serveur MySQL est configuré pour recevoir des données d'un autre serveur et s'il s'agit d'une réplique.
      • Type d'instance : rôle du serveur MySQL dans le processus de réplication, tel que la source, la réplique ou le membre du groupe principal.
      • ID de serveur : identificateur unique affecté à chaque serveur MySQL, essentiel pour que le processus de réplication distingue les différents serveurs.
      • UUID de serveur : identificateur universel unique (UUID) du serveur MySQL, fournissant une autre couche d'identification pour la réplication et garantissant l'unicité du serveur.
      • Sortant : nombre de canaux de réplication où le serveur MySQL envoie des données. Indique si le serveur MySQL est configuré pour envoyer des données à d'autres serveurs et s'il s'agit de la source.
      • Lecture seule : indique si le serveur est en mode lecture seule, ce qui limite les opérations de modification des données :
        • ON : le serveur MySQL est configuré en tant que read_only.
        • SUPER : le serveur MySQL est configuré en tant que super_read_only.
        • Désactivé : le serveur MySQL n'est ni read_only ni super_read_only.
      • Journalisation binaire : indique si la journalisation binaire est activée. Il s'agit d'une fonctionnalité qui consigne les instructions SQL de modification des données et qui est essentielle pour la réplication car elle fournit un enregistrement des modifications à envoyer aux répliques.
      • Format de journal : format du journal binaire, tel que STATEMENT ou ROW, qui détermine la manière dont les modifications sont journalisées et répliquées.
      • Mode ID de transaction global : indique si la réplication basée sur GTID est activée. L'ID de transaction globale (GTID) fournit un identificateur unique pour chaque transaction, ce qui permet une réplication plus fiable et plus cohérente.
    • Statut : dans cette section, les détails de réplication suivants sont affichés :
      • Connexions actives : nombre de connexions actives au serveur MySQL.
      • Nombre d'instructions : nombre total d'instructions SQL exécutées sur le serveur MySQL.
      • Etat d'extraction : statut actuel des opérations d'extraction. Indique si la réplique a extrait les données de la source.
      • Etat d'application : statut actuel des opérations d'application des modifications. Indique si les modifications ont été appliquées avec succès à la réplique.
      • Etat du membre Haute disponibilité : statut en cours du serveur MySQL dans le groupe de réplication. Pour plus d'informations sur les différents statuts, reportez-vous à la section Group Replication Server States.
      • Latence moyenne des instructions : temps moyen nécessaire à l'exécution des instructions SQL.
      • Identificateurs de transaction globaux exécutés : GTID de toutes les transactions exécutées sur le serveur MySQL ou explicitement définies comme purgées.
      • Délai de retard : nombre de secondes pendant lesquelles cette réplique est en retard sur la source lors du traitement des transactions à partir du journal binaire source.
    • Statistiques : dans cette section, les graphiques de mesures de réplication suivants sont affichés :
      • Connexions actives : affiche le nombre de connexions actives au serveur MySQL.
      • Nombre d'instructions : affiche le nombre total d'instructions SQL exécutées sur le serveur MySQL.
      • Latence moyenne des instructions (secondes) : affiche le temps moyen nécessaire à l'exécution des instructions SQL.
  • Onglet Haute disponibilité : affiche les paramètres de configuration de haute disponibilité et de récupération après sinistre, les mesures de réplication de groupe pour le serveur MySQL et les membres de réplication de groupe. Cet onglet apparaît lors de la surveillance des types de réplication qui utilisent la réplication de groupe ou qui font partie d'un cluster InnoDB.
    • Configuration : dans cette section, les paramètres de haute disponibilité de réplication de groupe suivants sont affichés :
      • Nom de groupe : identificateur unique qui distingue le groupe de réplication auquel le serveur MySQL appartient. Chaque serveur MySQL du groupe a le même nom de groupe, ce qui garantit que les serveurs MySQL répliquent uniquement avec leurs homologues prévus.
      • Etat du contrôle de flux : indique si le contrôle de flux est actuellement actif dans la configuration de la réplication de groupe, ce qui permet de maintenir la stabilité et la cohérence du groupe en empêchant les membres plus lents d'accumuler un nombre excessif d'arriérés de transactions :
        • DISABLED : le contrôle de flux est désactivé et aucun ralentissement ne se produit.
        • QUOTA : le contrôle de flux est actif et le groupe régule le flux de transactions en fonction de seuils prédéfinis.
      • Incrément automatique de groupe : intervalle entre les valeurs successives des colonnes incrémentées automatiquement pour les transactions qui s'exécutent sur le serveur MySQL.
      • Mode de déploiement : indique le mode de déploiement du groupe :
        • Un seul membre principal : un seul membre principal acceptant les opérations d'écriture.
        • Plusieurs membres principaux : tous les membres peuvent accepter des opérations d'écriture simultanément.
    • Statut : dans cette section, les détails de réplication de groupe suivants sont affichés :
      • ID de vue : identificateur de vue actuel du groupe.
      • Etat du membre : statut actuel du serveur MySQL au sein du groupe de réplication. Pour plus d'informations sur les différents statuts, reportez-vous à la section Group Replication Server States.
      • Transactions dans GTID_EXECUTED : nombre de transactions répliquées au sein du groupe.
    • Statistiques : dans cette section, les graphiques de mesures suivants sont affichés :
      • Transactions en file d'attente : affiche le nombre de transactions dans la file d'attente en attente de vérification de la détection des conflits.
      • Validation des lignes : affiche le nombre de lignes en cours de validation pour détecter les conflits lors de la certification de transaction.
      • Transactions vérifiées : affiche le nombre de transactions pour lesquelles des conflits ont été vérifiés au sein du groupe.
      • Conflits détectés : affiche le nombre de transactions pour lesquelles la détection des conflits a échoué.
    • Membres de réplication de groupe : dans cette section, les serveurs MySQL du groupe de réplication sont répertoriés, ainsi que les détails suivants :
      • Hôte : adresse réseau (nom d'hôte ou adresse IP) du serveur membre.
      • Port : numéro de port d'écoute des connexions par le serveur membre.
      • Etat : statut actuel du serveur membre.
      • Rôle : rôle du serveur membre.
      • UUID du serveur : UUID du serveur membre.
  • Onglet Entrant : affiche les informations et les mesures du canal de réplication entrante. Cet onglet apparaît si le serveur MySQL est configuré en tant que réplique dans le processus de réplication.
    • Mesures de journal de relais : dans cette section, les graphiques de mesures de journal de relais suivants, qui sont agrégés pour tous les canaux de réplication entrante, sont affichés :
      • Utilisation de l'espace (octets) : affiche la quantité d'espace disque utilisée par les fichiers journaux de relais sur la réplique.
        Remarque

        Si l'utilisateur de surveillance ne dispose pas du privilège REPLICATION CLIENT, les données ne sont pas affichées dans ce graphique de mesures.
      • Lecture d'E/S de fichier (octets par seconde) : affiche la vitesse à laquelle les données sont lues à partir des fichiers journaux relais.
      • E/S de fichier écrites (octets par seconde) : affiche la vitesse à laquelle les données sont écrites dans les fichiers journaux relais.
      • Latence d'E/S de fichier (microsecondes) : affiche le délai entre le moment où les données sont lues et écrites dans les fichiers journaux relais.
    • Etat : dans cette section, les détails suivants concernant l'état des composants Récepteur et Applicateur sont affichés :
      • Le récepteur est chargé d'établir et de tenir à jour la connexion à la source.
        • Statut : état actuel du récepteur, qui indique s'il est en cours d'exécution et fonctionne correctement.
        • Numéro de l'erreur : code numérique de la dernière erreur rencontrée par le destinataire.
        • Message d'erreur : message correspondant au numéro d'erreur.
      • L'applicateur est chargé d'exécuter les événements extraits par le récepteur et de les appliquer à la réplique.
        • Statut : état actuel de l'applicateur, qui indique s'il est en cours d'exécution et fonctionne correctement.
        • Numéro d'erreur : code numérique de la dernière erreur rencontrée par l'applicateur.
        • Message d'erreur : message correspondant au numéro d'erreur.
    • Configuration : dans cette section, les paramètres de canal de réplication entrante suivants sont affichés :
      • Source est le serveur MySQL en amont à partir duquel les données sont répliquées.
        • Hôte : nom d'hôte ou adresse IP de la source.
        • Port : numéro de port sur la source à laquelle la réplique doit se connecter pour la réplication.
        • UUID du serveur : UUID de la source.
        • ID : ID du serveur de la source.
      • Réplique est le serveur MySQL actuel.
        • UUID de serveur : UUID de la réplique.
        • ID : ID de serveur de la réplique.
      • Les paramètres Appliquer influent sur la façon dont la réplique applique les transactions reçues de la source.
        • Délai : nombre de secondes configuré pendant lesquelles cette réplique doit différer de la source sur ce canal.
        • Salariés : nombre configuré de threads d'application pour l'exécution des transactions de réplication en parallèle.
        • Gestion des ID de transaction globale : indique si le canal affecte des GTID aux transactions répliquées qui n'en ont pas :
          • Désactivé : aucun GTID n'est affecté.
          • LOCAL : un GTID qui inclut l'UUID de cette réplique est affecté.
          • <UUID> : un GTID associé à un UUID défini manuellement est affecté.
      • Les filtres contrôlent les données répliquées de la source vers la réplique. Ils peuvent être configurés pour inclure ou exclure des bases de données, des tables ou d'autres objets spécifiques.
    • Statistiques : dans cette section, les détails de canal de réplication entrante suivants sont affichés :
      • Espace de stockage de journal de relais utilisé : espace disque total consommé par les fichiers journaux de relais relatifs à ce canal.
      • Transactions reçues : nombre de transactions que la réplique a reçues du serveur source.
      • Délai d'application : temps écoulé entre la validation de la transaction en cours sur la source et son application sur la réplique.
      • Travailleurs occupés : nombre de threads de processus de réplication actuellement actifs lors de l'application de transactions via ce canal à la réplique.
  • Onglet Sortant : affiche les informations relatives aux répliques du serveur MySQL. Cet onglet apparaît si le serveur MySQL est configuré en tant que source dans le processus de réplication.
    • Configuration : dans cette section, les répliques du serveur MySQL en cours sont répertoriées, ainsi que les détails suivants :
      • Hôte : nom d'hôte de la réplique, tel que spécifié sur la réplique à l'aide de l'option --report-host.
      • Port : port sur lequel la réplique écoute, comme indiqué sur la réplique avec l'option --report-port.
      • ID de serveur : ID du serveur de la réplique.
      • UUID de serveur : UUID de la réplique.
  • Onglet Journal binaire : affiche un aperçu des paramètres de configuration du journal binaire, des détails et des graphiques de mesures pour le serveur MySQL.
    • Configuration : dans cette section, les paramètres de configuration de journal binaire suivants sont affichés :
      • Activé : indique si la journalisation binaire est active sur le serveur.
      • Format de journal : indique le format dans lequel les modifications sont enregistrées dans le journal binaire :
        • STATEMENT : consigne les instructions SQL qui modifient les données.
        • ROW : consigne les modifications de données réelles au niveau de la ligne.
        • MIXED : bascule entre la réplication basée sur des instructions et la réplication basée sur des lignes, en fonction de la nature de l'instruction.
      • Compression de journal : indique si la compression est activée et appliquée au journal binaire pour réduire l'utilisation de l'espace disque et la bande passante réseau.
    • Statut : dans cette section, les détails de journal binaire suivants sont affichés :
      • Nom du journal binaire : fichier journal binaire actuel utilisé par le serveur MySQL.
      • Position du journal binaire : position actuelle dans le fichier journal binaire actif où le serveur MySQL écrit.
      • Pourcentage de compression de journal : pourcentage de compression obtenu pour les fichiers journaux binaires, si la compression de journal est activée.
    • Statistiques : dans cette section, les graphiques de mesures de journal binaire suivants sont affichés :
      • Utilisation de l'espace de stockage (octets) : affiche l'espace disque total utilisé par les fichiers journaux binaires.
      • Lecture d'E/S (octets par seconde) : affiche la vitesse de lecture des données à partir des fichiers journaux binaires.
      • E/S écrites (octets par seconde) : affiche la vitesse à laquelle les données sont écrites dans les fichiers journaux binaires.
      • Latence d'E/S (microsecondes) : affiche le délai de lecture ou d'écriture dans les fichiers journaux binaires.