|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Romano MarsalaÉtudiant Inscription : novembre 2011 Messages : 70 ![]() |
Bonjour,
Je vous explique en quelques mots la situation problème. J'ai une base de données côté serveur en ligne. Plusieurs bases de données locales sur des pc clients. Les bases de données ont toutes la même structure, le but étant qu'un client peut ajouter des tuples en local et lors d'une synchronisation les données doivent être transférée sur le serveur, et inversément, si l'administrateur modifie les données du serveur, la synchronisation doit se faire sur le pc client. Suivant les tables, la relation peut se faire dans le deux sens OU uniquement du serveur vers le client. J'ai trouvé quelques liens permettant de syncrhoniser les bases de données, mais c'est principalement des articles mettant en avant le transfert dans un unique sens (avec un serveur et un esclave). Y-a-t'il des requètes permettants l'automatisation de tout cela? J'espère que la situation problème est claire... Merci, toute aide est la bienvenue
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : février 2012 Messages : 17 ![]() |
MySQL ne permet la réplication qu'avec un seul maître (hormis avec de la réplication circulaire mais qui ne semble pas adaptée à ton cas). A mon avis, il va falloir développer la couche de synchronisation.
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Romano MarsalaÉtudiant Inscription : novembre 2011 Messages : 70 ![]() |
Merci...
Mais j'ai vu que la réplication est possible dans 2 sens (une fois un sens où le serveur est maître, et une fois dans l'autre sens où le client est maître)... Mais si des modifications sont faites sur les 2 machines, on pourrait perdre des données. Personne ici n'a déjà fait ce genre de synchronisation? - Plusieurs clients (ici des commerciaux), qui travaillent en local, ajoutent ou modifie des tuples - Un serveur (ici l'administration), qui travaille en ligne, ajoutent ou modifie des tuples. --> Synchronisation qui permet de calculer les différences et de mettre le tout à jour sans perdre de données. Il doit exister un outil ou quelque chose d'assez pratique pour automatiser tout ça, non? |
|
00
|
|
|
#4 |
|
Membre régulier
![]() Romano MarsalaÉtudiant Inscription : novembre 2011 Messages : 70 ![]() |
J'ai trouvé une solution, un peu comme l'a dit Hello29, j'ai fait la réplication dans le sens serveur vers client.
Pour les modificaitons du client vers le serveur, j'ai réalisé des requêtes sql. Ce n'est pas encore très optimal, mais ça fonctionne plutôt bien. Si ça peut aider quelqu'un, voici une explication un peu plus approfondie : - Le client fait des ajouts ou des modifications en local sur son pc. - Les données de ces tuples ajoutés/modifiés sont inscrites dans une nouvelle table avec soit un attribut de l'ancien ID, soit null(si nouveau) - Requête d'ajout ou d'update de la base de données du serveur - START SLAVE; sur le client, afin de lancer la réplication - Voilà, la base de données sur le serveur est à jour et la base de données locale du client synchronisée avec le serveur. |
|
00
|
Copyright © 2000-2012 - www.developpez.com