Question

Lorsque j'ai deux serveurs MySQL qui ont des tâches différentes (contenant des bases de données différentes) mais que je veux pouvoir utiliser l'un d'eux pour me glisser lorsque l'autre tombe en panne, que suggéreriez-vous pour que les données sur les deux soient égales "fermer en temps réel" ?

Évidemment, il n'est pas possible d'effectuer un vidage complet de la base de données toutes les x minutes.

J'ai lu quelque chose sur Journal binaire, est-ce que c'est par là que je dois aller ?Cela ne ralentira-t-il pas beaucoup le serveur de secours ?Existe-t-il un moyen de ne pas inclure certaines tables dans le journal binaire - où le fait que les données aient changé n'a pas d'importance ?

Était-ce utile?

La solution

Le journal binaire est définitivement la voie à suivre.Cependant, vous devez savoir qu'avec MySQL vous ne pouvez pas simplement basculer entre les serveurs comme ça.

Un serveur sera le maître et l'autre sera l'esclave.Vous écrivez/lisez sur le maître, mais vous ne pouvez lire qu'à partir du serveur esclave.Si jamais vous écrivez sur l'esclave, ils seront désynchronisés et il n'y a pas de moyen simple de les synchroniser à nouveau (en gros, vous devez les échanger pour que le maître soit le nouvel esclave, mais c'est un processus manuel fastidieux ).

Si vous avez besoin de véritables bases de données de sauvegarde remplaçables à chaud, vous devrez peut-être accéder à un système autre que MySQL.Si tout ce que vous souhaitez est une sauvegarde en direct en lecture seule que vous pouvez utiliser instantanément dans le pire des cas (le maître est définitivement détruit), Binary Log vous conviendra parfaitement.

Autres conseils

Vous voudrez peut-être considérer le maître-maître scénario de réplication, mais avec une légère torsion.Vous pouvez spécifier les bases de données à répliquer et limiter la réplication pour chaque serveur.

Pour le serveur1, j'ajouterais --replicate-do-db=server_2_db et sur le serveur2 --replicate-do-db=server_1_db à votre my.cnf (ou my.ini sous Windows).Cela signifierait que seules les instructions pour server_1_db seraient répliquées sur server2 et vice versa.

Assurez-vous également d'effectuer régulièrement des sauvegardes complètes et de ne pas vous fier uniquement à la réplication, car elle ne garantit pas la sécurité contre les erreurs accidentelles. DROP DATABASE déclarations ou autres.

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