2012-12-28 3 views
1

J'ai besoin de synchroniser le développement de mysql db avec celui de production. La production db est mise à jour par les clics de l'utilisateur et d'autres données générées via le Web. Development db est mis à jour avec les données de traitement.Transférer mySQL du développement à la production

Quelle est la meilleure pratique pour accomplir ceci?

J'ai trouvé quelques outils de diff (par exemple mySQL diff), mais ils ne gèrent pas les enregistrements mis à jour. J'ai également trouvé une solution d'application: http://www.isocra.com/2004/10/dumptosql/ mais je ne suis pas sûr que ce soit une bonne pratique car dans ce cas j'ai besoin de retester mon code chaque fois que j'ajoute de nouvelles tables liées à innodb.

Des idées?

+0

Avez-vous besoin de cela pour une fois ou vous avez besoin de le faire régulièrement? – Swapnil

+0

http://superuser.com/questions/90301/sync-two-mysql-databases je pense que cela pourrait être utile –

+0

Merci, j'ai jeté un oeil à eux, on est maître/esclave pour copier exactement le db (mais Je ne peux pas parce que sur la production j'ai des données générées par l'utilisateur que je n'ai pas en développement). L'autre solution a été discutée dans la réponse suivante, j'ai juste besoin de comprendre si elle gère aussi les enregistrements mis à jour. – Daniele

Répondre

0

Jetez un oeil à mysqldump. Cela vous servira peut-être assez bien pour cela.

En supposant que vos tables sont toutes indexées avec une sorte de clé unique, vous pouvez faire un vidage et l'omettre des bits 'drop/create table'. Faites-le fonctionner en tant que 'insert ignore' et vous obtiendrez les nouvelles données sans affecter les données existantes.

Une autre option consisterait à utiliser la partie query de mysqldump pour vider uniquement les nouveaux enregistrements du côté production. Encore une fois - mysqldump a quitté les bits 'drop/create'.

+0

Merci, comment puis-je gérer les enregistrements mis à jour? Je suppose que les dossiers ont déjà été indexés. – Daniele

+0

Pour le scénario n ° 2, vous aurez besoin d'un moyen de les identifier. Pour # 1 vous vider tout et laisser les clés uniques les trier. C'est un peu dur mais ça marche. – ethrbunny

Questions connexes