web-dev-qa-db-fra.com

Synchroniseur deux bases de données MySQL

Quel est le bon moyen de synchroniser deux bases de données MySQL?

Je souhaite synchroniser les données de la base de données de mon site de production avec celles de ma base de développement locale. Pour le moment, j'utilise simplement l'interface PHPMyAdmin pour l'exporter de l'une à l'autre, puis je l'importe dans l'autre.

Celles-ci seraient une synchronisation initiée par l'utilisateur, pas nécessairement périodique ou automatisée (quelque chose comme une synchronisation en un clic).

24
vonhogen

Voici quelques idées:

  1. Utiliser la réplication: http://www.howtoforge.com/mysql_database_replication
  2. Utilisez mysqldump dans un script d'importation/exportation pour semi-automatiser
18
quickcel

SQLyog Enterprise et Ultimate peuvent le faire.

alt text

alt text

SQLyog a une version gratuite bien qu’il ne puisse malheureusement pas effectuer les opérations de synchronisation. Les versions payantes commencent à 69 $ mais un essai de 30 jours est disponible. Pour une solution gratuite, la réplication est votre meilleur choix, comme indiqué par quickcel, bien qu'elle nécessite un peu de configuration.

Il dispose désormais également d'une fonctionnalité appelée "Visual Data Compare" (Comparaison visuelle des données) permettant de comparer et de synchroniser les données de manière visuelle.

enter image description here

12
John T

Pour un outil de synchronisation MySQL unique et gratuit, consultez Percona Toolkit (anciennement Maatkit):

http://www.percona.com/doc/percona-toolkit/2.1/pt-table-sync.html

3
crishoj

L'outil SJA de SQLYog (gratuit pour Linux) peut le faire avec brio et je l'utilise déjà depuis des années et des années. Tout ce qu'il faut, c'est un fichier XML généré avec les informations de connexion appropriées, votre base de données et les tables souhaitées. Je n'aurais pas pu m'en passer.

2
Cristian Cotovan