logiciel mysql :des suggestions pour superviser mon serveur de réplication MySQL ?

StackOverflow https://stackoverflow.com/questions/35420

  •  09-06-2019
  •  | 
  •  

Question

J'ai eu du mal à configurer mon serveur de réplication.Existe-t-il un programme (OS X, Win, Linux ou php sans problème) qui me permet de surveiller et de résoudre les problèmes de réplication ?(au fait, pour ceux qui -uhm- suivent, j'ai été sur cette question ici, ici, ici et ici.Soit je m'y prends mal, soit je dois être extrêmement épais)

Ma base de données de production a une taille de plusieurs Mo et est en croissance.Chaque fois que la réplication de la base de données s'arrête et que les bases de données commencent inévitablement à se désynchroniser, je grince des dents.Ma dernière resynchronisation depuis le dump a pris près de 4 heures aller-retour !

Comme toujours, même après la synchronisation, je rencontre ce genre d'erreur qui stoppe le spectacle :

Error 'Duplicate entry '252440' for key 1' on query.

J'adorerais qu'il y ait un moyen de surveiller de près ce qui se passe et peut-être de laisser le logiciel s'en occuper.Je suis même tout à fait à l'écoute des sociétés de services qui peuvent m'aider à mieux surveiller mes données.Ou une autre façon de refléter complètement.

Modifier:en parcourant mes questions précédentes, j'ai trouvé ce ce qui aide énormément.Je suis toujours à l'écoute de la solution de surveillance.

acclamations,

/mp

Était-ce utile?

La solution

Pour surveiller les serveurs, nous utilisons le logiciel gratuit outils de Maatkit ...simple mais efficace.

La réplication binaire est disponible en 5.1, donc je suppose que vous avez des couilles.Nous utilisons toujours la version 5.0 et cela fonctionne bien, mais bien sûr, nous avons eu notre part de problèmes avec.

Nous utilisons une réplication Maître-Maître avec un proxy MySql comme équilibreur de charge en face, et pour éviter qu'elle n'ait des erreurs :

  • nous avons supprimé tous les index uniques
  • pour les quelques cas où nous avions vraiment besoin de contraintes uniques, nous nous sommes assurés d'utiliser REPLACE au lieu d'INSERT (le proxy MySql peut être utilisé pour garantir une utilisation correcte...il peut même réécrire vos requêtes)
  • les scripts planifiés effectuant des rapports intensifs accèdent toujours au même serveur (pas à l'équilibreur de charge)...afin que les opérations dangereuses soient reproduites en toute sécurité

Oui, je sais que cela semble simple et stupide, mais cela a résolu 95 % de tous les problèmes que nous avions.

Autres conseils

Nous utilisons la réplication MySQL pour répliquer les données sur près de 30 serveurs.Nous les surveillons avec Nagios.Vous pouvez probablement vérifier l'état de la réplication et utiliser un gestionnaire d'événements pour la redémarrer avec 'SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;Démarrer l'esclave;'.Cela corrigera l'erreur, mais vous perdrez l'insert à l'origine de l'erreur.

À propos de l'erreur, utilisez-vous des tables mémoire sur vos esclaves ?Je pose cette question parce que la seule fois où nous avons eu beaucoup de ces erreurs, elles étaient causées par un bug dans les dernières versions de MySQL.« Supprimer de la table où le champ = valeur » supprimera une seule ligne dans les tables mémoire, même si elles contiennent plusieurs lignes.

Description du bug MySQL

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top