2008-08-06 8 views
19

Actuellement, j'ai deux serveurs Linux exécutant MySQL, un sur un rack juste à côté de moi sous un téléchargement de 10 Mbit/s (serveur principal) et un autre à quelques miles sur un téléchargement de 3 Mbit/s (miroir) . Je veux être en mesure de répliquer des données sur les deux serveurs en continu, mais j'ai rencontré plusieurs obstacles. L'un d'entre eux étant, sous MySQL configuration maître/esclave, de temps en temps, certaines déclarations tombent (!), Ce qui signifie; certaines personnes qui se connectent à l'URL miroir ne voient pas les données que je connais sur le serveur principal et vice versa. Disons que cela se passe sur un bloc significatif de données une fois par mois, donc je peux vivre avec et supposer qu'il s'agit d'un problème de "paquet perdu" (c'est-à-dire, dieu sait, mais nous compensons). L'autre problème récurrent le plus important (et ennuyeux) est que lorsque, pour une raison ou une autre, nous effectuons un téléchargement ou une mise à jour majeure (ou un redémarrage) à une extrémité et que nous devons sever le lien, LOAD DATA FROM MASTER ne travail et je dois vidanger manuellement sur une extrémité et télécharger sur l'autre, tout à fait une tâche de nos jours en déplaçant une valeur de 0,5 To de données.Réplique complète de la base de données MySQL complète? Des idées? Que font les gens?

Existe-t-il un logiciel pour cela? Je sais que MySQL (la «société») offre cela comme un service très cher (réplication de base de données complète). Que font les gens là-bas? La façon dont il est structuré, nous exécutons un basculement automatique où si un serveur n'est pas en place, alors l'URL principale se résout à l'autre serveur.

+0

Peut-être que cela pourrait être source d'inspiration: [http://www.howtoforge.com/loadbalanced_mysql_cluster_debian](http://www.howtoforge.com/loadbalanced_mysql_cluster_debian) – svrist

Répondre

0

GoldenGate est une très bonne solution, mais probablement aussi chère que le réplicateur MySQL.

Il bascule fondamentalement la revue, et applique des changements basés sur ce qui est commis. Ils supportent la réplication bidirectionnelle (une tâche difficile) et la réplication entre des systèmes hétérogènes. Comme ils travaillent en traitant le fichier journal, ils peuvent effectuer une réplication distribuée à grande échelle sans affecter les performances sur la ou les machines source.

0

Je n'ai jamais vu d'instructions supprimées, mais il y a un bug où les problèmes de réseau peuvent provoquer une corruption du journal de relais. Assurez-vous de ne pas exécuter mysql sans cette correction.

dans les 5.0.56 Couverture documentée, 5.1.24 et 6.0.5 changelogs comme suit:

Network timeouts between the master and the slave could result 
    in corruption of the relay log. 

http://bugs.mysql.com/bug.php?id=26489

3

Nous à des outils gratuits offre Percona pour détecter les écarts entre le maître et le serveur, et de les synchroniser en réappliquant des changements minimes.

Questions connexes