Je dispose d'une base de données (MySql) locale où je fais le développement du site internet (apache - php).
Quand je veux mettre à jour mon site (et la DB online donc), je dois exporter les données de la DB locale sous un format SQL afin de mettre à jour la DB online, ce qui est un peu lourd. Le cas est identique quand je veux passer de la DB online vers celle offline.

Ma question est de savoir s'il existe une méthode plus souple que celle que j'utilise actuellement, afin de "synchroniser" mes deux DB.

Merci d'avance.

PS: la synchronisation se fait actuellement avec phpmyadmin.

2 réponses


Oui MySQL gère la réplication/synchronisation mais pas dans le sens où tu la demandes (si j'ai bien compris)
Il y aura toujours une notion de Master et de Slave. Ou de Source et de Target.

Si c'est uniquement dans un sens, tu peux le faire assez facilement. Que dès que tu fais une modif, elle soit automatiquement faite sur ton serveur distant.
Le plus simple évidemment étant local > prod. L'inverse étant possible si tu as des notions de routage, firewall, etc...

Rien ne t'empêche de faire ce qui suit pour de la "fausse sync":
Définir Master et Slave à la fois pour le serveur local et distant.

Sur ton serveur de prod à T, une modif est faite sur le serveur MySQL prod
T+1 la réplication des données est lancée sur ton serveur local

Tes bases ont exactement le même contenu.

A T+2, tu fais une modif sur ton serveur local et la réplication des données est lancée sur le serveur de prod.

La meilleure technique pour de la réplication parfaite, c'est d'avoir 2 architectures homogènes et d'utiliser Rsync ou Unison par exemple. Mais la plupart du temps y'a Windows d'un côté et du Linux de l'autre...

J'ai résumé à l'extrême ofc.

Merci JoeMugen j'essai avec ta technique et je te ferai le retour si c'est oki , je mettrai la methode pour que sa aide d'autre personne