[MySQL] Synchronisation

Fermé
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 - 20 nov. 2006 à 11:54
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 - 20 nov. 2006 à 15:06
Bonjour,

Voici mon souci.
J'ai mis 2 bases identiques à disposition, mais pas sur le même serveur à disposition.
Chacune a eu une évolution au niveau des datas.
Aujourd'hui, je dois les synchroniser (sans perte).
Comment puis-je faire ???
Les 2 sont en mysql, j'ai pris les 2 et je les ai déposé sur un 3eme serveur, mais comment faire pour ne pas duplicquer d'info, ne pas avoir de conflit, ni de perte d'info ??

J'ai essayer data comparer en version d'évaluation, mais il ne semble pas aller jusqu'au bout de la procédure. (il selectionne juste les tables)

Comment faire ??
Vous avez une idée ??


Merci d'avance pour votre aide

3 réponses

P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
20 nov. 2006 à 15:06
le problème a été repoussé.
Mais, je crois avoir compris.
Je te promet que si le problème revient tu auras connaissance dans ce post du résultat.
Merci pour ton aide
1
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
20 nov. 2006 à 12:05
Hello,

Si tu as du temps devant toi:

Renomme toutes les tables de la base 1 avec _1 à la fin. Injecte toutes les tables ainsi renommé dans la base 2.
Après, tu n'as plus qu'a faire une petite procédure en SQL pour tout comparer. :)
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
20 nov. 2006 à 12:22
c'est paas un souci pour le "rennommage".
Mais c'est la procédure, tu peux m'expliquer ??
Je ne connais pas grand choses là dedans.
0
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
20 nov. 2006 à 14:12
Ok, après avoir réflechi, je te dirais de coller toutes les données dans une meme table puis de faire un:
SELECT COUNT(*) AS NBR_DOUBLES, ID, CHAMP1 , CHAMP2
FROM   TABLE
GROUP  BY ID, CHAMP1 , CHAMP2
HAVING COUNT(*) > 1

dans un premier temps pour voir le nombre de ligne à dégager.

Puis tu fais un :
DELETE FROM   TABLE
GROUP  BY ID, CHAMP1 , CHAMP2
HAVING COUNT(*) > 1

Avec tout ca, tu vas dégager les doublons dans la table. Il faudra ajouter autant de champs qu'il y en a dans ta table.

Ceci étant parfaitement destructif, n'hésite pas à me demander des eclaircissements, si tu n'as pas compris la manoeuvre.

Bonne journée
0