Aller au contenu

PHP : script pour controler la réplication d’une DB Mysql

<?php
    // Paramètres de connexion à la base de données
    $host = 'localhost';
    $username = 'replication_user';
    $password = 'replication_password';
    $dbname = 'replication_db';

    // Connexion à la base de données
    $conn = new mysqli($host, $username, $password, $dbname);
    if ($conn->connect_error) {
        die("Connexion échouée: " . $conn->connect_error);
    }

    // Exécution de la requête pour vérifier l'état de la réplication
    $result = $conn->query("SHOW SLAVE STATUS");
    if ($result->num_rows > 0) {
        // Affichage des résultats de la requête
        while ($row = $result->fetch_assoc()) {
            echo "Slave_IO_Running: " . $row['Slave_IO_Running'] . "<br>";
            echo "Slave_SQL_Running: " . $row['Slave_SQL_Running'] . "<br>";
            echo "Seconds_Behind_Master: " . $row['Seconds_Behind_Master'] . "<br>";
        }
    } else {
        echo "Aucun résultat";
    }
    $conn->close();
?>

Ce script se connecte à une base de données MySQL en utilisant les paramètres de connexion spécifiés, puis exécute une requête « SHOW SLAVE STATUS » pour obtenir des informations sur l’état de la réplication.

Il utilise ensuite une boucle pour afficher les informations obtenues, en utilisant les noms de colonne pour accéder aux valeurs. Il affiche les informations :

  • Slave_IO_Running : Cette colonne indique si l’esclave est en cours de lecture de l’événement de réplication depuis le maître.
  • Slave_SQL_Running : Cette colonne indique si l’esclave est en cours d’exécution de l’événement de réplication.
  • Seconds_Behind_Master : Cette colonne indique le temps en secondes que prend l’esclave pour rattraper le maître.

Il est important de noter que pour utiliser cette requête, l’utilisateur MySQL doit avoir les privilèges nécessaires pour exécuter cette requête. Il est important de s’assurer que les valeurs de la colonne ‘Slave_IO_Running’ et ‘Slave_SQL_Running’ sont ‘YES’ pour s’assurer que la réplication fonctionne correctement, et il est également important de surveiller la colonne ‘Seconds_Behind_Master’ pour s’assurer qu’il n’y a pas de décalage important entre le slave et le master

Étiquettes:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *