oracle - Réplication complète de la base de données MySQL? Des idées? Que font les gens?

Translate

Actuellement, j'ai deux serveurs Linux exécutant MySQL, l'un assis sur un rack juste à côté de moi sous un tuyau de téléchargement de 10 Mbit / s (serveur principal) et un autre à quelques kilomètres sur un tuyau de téléchargement de 3 Mbit / s (miroir).

Je veux pouvoir répliquer les données sur les deux serveurs en continu, mais je me suis heurté à plusieurs obstacles. L'un d'entre eux étant, sous les configurations maître / esclave MySQL, de temps en temps, certaines instructions tombent (!), Ce qui signifie; certaines personnes se connectant à l'URL miroir ne voient pas les données dont je sais qu'elles se trouvent sur le serveur principal et vice versa. Disons que cela se produit sur un bloc de données significatif une fois par mois, donc je peux vivre avec et supposer que c'est un problème de "paquet perdu" (c'est-à-dire, Dieu sait, mais nous compenserons).

L'autre problème récurrent le plus important (et ennuyeux) est que, lorsque, pour une raison quelconque, nous effectuons un téléchargement ou une mise à jour (ou un redémarrage) majeur à une extrémité et que nous devonsromprele lien, puis CHARGER LES DONNÉES DU MASTER ne fonctionne pas et je dois vider manuellement d'un côté et télécharger de l'autre, une véritable tâche de nos jours pour déplacer environ 0,5 To de données.

Existe-t-il un logiciel pour cela? Je sais que MySQL (la «société») offre cela comme un service TRÈS cher (réplication complète de la base de données). 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 opérationnel, l'URL principale se résout simplement en l'autre serveur.

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Chez Percona, nous proposons des outils gratuits pour détecter les écarts entre le maître et le serveur, et pour les remettre en synchronisation en réappliquant des modifications minimes.

La source
Translate

Porte doréeest une très bonne solution, mais probablement aussi chère que le réplicateur MySQL.

Il suit essentiellement le journal et applique les changements en fonction de ce qui est engagé. Ils prennent en charge la réplication bidirectionnelle (tâche difficile) et la réplication entre des systèmes hétérogènes.

Puisqu'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.

La source
Translate

Je n'ai jamais vu de déclarations abandonnées mais il y a un bogue où des problèmes de réseau pourraient causer une corruption du journal de relais. Assurez-vous de ne pas exécuter mysql sans ce correctif.

Documenté dans les changelogs 5.0.56, 5.1.24 et 6.0.5 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

La source