mysql état de la réplication à l'aide d'une requête select
Est-il possible d'obtenir l'état de la réplication de tout système de table de base de données.
à l'aide de laquelle je peux m'identifier si la réplication est en haut ou en bas.
J'ai besoin de savoir si le SLAVE_IO_RUNNING et SLAVE_SQL_RUNNING = OUI à partir d'un système de tableau?
Manasi
Vous devez vous connecter pour publier un commentaire.
C'est la déclaration que j'ai utilisée sur la base d'Manasi haut de réponse.
information_schema.global_status
est maintenant obsolète.information_schema.global_status
est maintenant obsolète, referer à @bad-thé réponse, il parle activermaster-info-repository
etrelay-log-info-repository
variables qui permettent d'accéder à ce type d'information.hslakhan réponse fonctionne pour MySQL 5.6, mais pour MySQL 5.7 le statut de l'esclave variables ont déménagé de
information_schema
àperformance_schema
.Slave_IO_Running
correspond à:Slave_SQL_Running
correspond à:Il y a quelques autres variables de l'
SHOW SLAVE STATUS
de sortie trop, voir https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_show_compatibility_56_slave_status pour le reste.J'ai eu la solution dans la base de données information_schema. Veuillez consulter le tableau GLOBAL_STATUS dans la base de données information_schema. Vous verrez une variable "SLAVE_RUNNING" si elle est "on", cela signifie que la réplication fonctionne très bien. Si c'est sur "OFF", puis de réplication a échoué pour une raison quelconque et que vous avez besoin de vérifier pourquoi? 🙂
Manasi
L'énoncé principal de ce est de MONTRER le STATUT d'ESCLAVE, que vous devez exécuter sur chaque esclave.
Reporter: http://dev.mysql.com/doc/refman/5.1/en/replication-administration-status.html
Sur le maître, vous pouvez vérifier le statut des esclaves à l'aide de SHOW PROCESSLIST pour examiner la liste des processus en cours d'exécution.
Pour les esclaves qui ont démarré avec l'option --rapport-option hôte et sont connectés au maître, le SHOW SLAVE HÔTES déclaration sur le maître montre des informations de base sur les esclaves.
Début de MySQL 5.6, vous pouvez stocker le statut de l'esclave dans les tableaux plutôt que des fichiers par le démarrage du serveur avec
--master-info-repository=TABLE
et--relay-log-info-repository=TABLE
.Référence: http://dev.mysql.com/doc/refman/5.6/en/slave-logs.html
Même avec ça, je ne suis pas sûr si les tables contiennent les valeurs spécifiques que vous cherchez (
SLAVE_IO_RUNNING
etSLAVE_SQL_RUNNING
). Je ne pouvais pas essayer cela parce que je suis sous mysql 5.1; je viens de chercher et de la trouver dans les 5.6 documentation.Il semble que vous essayez d'analyser le fil d'état de manière automatisée. Depuis je n'ai pas les tables, j'ai l'intention de le faire avec un script shell et cron job, avec quelque chose comme ceci:
Référence: http://www.stardothosting.com/blog/2012/02/checking-and-repairing-mysql-replication-automatically/
Cette solution utilise awk pour traiter un spectacle de sortie de la commande et envoie un mail en cas d'erreur dans tout le domaine traité. Dans ce cas, les champs sont Slave_IO_Running et Slave_SQL_Running.
Remplissez-vous libre pour ajouter d'autres champs à partir de la "show slave status' sortie - Last_Error/Seconds_Behind_Master, par exemple, ou à awk de la sortie d'autres commandes show.
Basé sur cette question, j'ai écrit une requête à vous répondre.
Veuillez conserver le droit d'auteur 🙂
Meilleures salutations,
Renan Benedicto Pereira (BR MySQL DBA)
Je ne suis pas vraiment sûr de ce que le monde est sur le tbh. 'show slave status" EST une requête. Vous pouvez exécuter cette requête à partir de n'importe quel langage de programmation moderne et puis il suffit de choisir les noms de colonne que vous souhaitez utiliser?
En PHP par exemple j'utilise:
Obtenir des résultats à partir de 'show slave status' dans $ligne.
Vous pouvez également exécuter cette au maître.
autant que je sache, il n'y a pas de sélectionner (comme information_schema)
pour vérifier esclave de réplication statut
référence -- http://dev.mysql.com/doc/refman/5.0/en/show-slave-status.html