2010-10-14 4 views
6

J'ai besoin de synchroniser chaque semaine une grande base de données MySQL locale (3 Go +/40+ tables) vers une base de données de serveur. Les deux bases de données sont exactement les mêmes. La base de données locale est constamment mise à jour et chaque semaine, la base de données du serveur doit être mise à jour avec les données locales. Vous pouvez l'appeler 'DB en miroir' ou 'master/master' mais je ne suis pas sûr que ce soit correct.Synchronisation d'une grande base de données locale avec le serveur DB (MySQL)

Actuellement, le DB n'existe que localement. Donc:

1) Je dois d'abord copier le DB du local au serveur. Avec PHPMyAdmin, l'exportation/importation est impossible à cause de la taille de la base de données et des limites de PHPMyAdmin. L'exportation de la base de données vers un fichier gzip et son transfert via FTP se produira probablement au milieu du transfert en raison de la connexion aux problèmes du serveur ou de la taille limite du fichier serveur. Exporter chaque table séparément sera pénible et la taille de chaque table sera également très grande. Alors, quelle est la meilleure solution pour cela?

2) Une fois la base de données locale entièrement téléchargée sur le serveur, j'ai besoin de mettre à jour chaque semaine la base de données du serveur. Quelle est la meilleure façon de le faire?

Je n'ai jamais travaillé avec ce genre de scénario, je ne connais pas les différentes façons d'y parvenir et je ne suis pas très fort avec SQL, alors expliquez-vous le mieux possible.

Merci beaucoup.

Répondre

3

This article devrait vous aider à démarrer.

Fondamentalement, obtenir Maatkit et utiliser les outils de synchronisation là-bas pour réaliser un maître-maître-synchronisation:

mk-table-sync --synctomaster h=serverName,D=databaseName,t=tableName 
2

Vous pouvez utiliser un DataComparer pour MySQL. Personnalisez la synchronisation du modèle, qui spécifie les données à synchroniser. Programmer une mise à jour hebdomadaire sur le modèle. J'ai 2 serveurs synchronisés quotidiennement avec dbForge Data Comparer via la ligne de commande.

Questions connexes