IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Problème d'update ¦ réplication master master


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut Problème d'update ¦ réplication master master
    Bonjour,

    j'ai mis en place une réplication master/master sous mysql 5.7, maintenant je suis entrain de gérer les éventuelles erreurs de synchronisation et je me rends compte qu'avec le 'update' il y a un soucis de synchronisation

    Machine A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update replication table (id,nom) set nom='un' where id=1 ;
    Machine B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update replication_table(id,nom) set nom='One^' where id=1 ;
    je fais cette opération à la même seconde, il y a deux résultats possible :

    Machine A : 1, un
    Machine B : 1,One

    Ou

    Machine A : 1,One
    Machine B : 1,un


    avez vous une idée sur comment peut-on contôler la modification à prendre en considération si deux machines font un 'update' d'un même enregistrement ?

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 917
    Par défaut
    Salut enigmma.

    Pour tester la réplication, il suffit de créer une nouvelle table et d'insérer une ligne.
    Cela se fait sur le serveur A, puis vous vérifiez votre résultat sur le serveur B.

    Je ne comprends ce que vous essayez de faire avec votre update replication.

    @+

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    Salut Artemus24.
    Pour tester la réplication, il suffit de créer une nouvelle table et d'insérer une ligne.
    Cela se fait sur le serveur A, puis vous vérifiez votre résultat sur le serveur B.
    j'ai déjà testé ca et ca marche très bien, maintenant j'essaie de gérer les conflits qui peuvent se produire si deux utilisateurs font une modification d'une même ligne au même temps, dans ce cas quelle modifcation sera synchronisée !!
    j'ai donc fait cette opération et là j'avais deux resultats :

    -1) chaque machine garde dans sa base de données la modification qui a été faite dans sa base de données
    -2) chaque machine a la modification qui a été faite dans l'autre machine

    et dans les deux cas il y a un problème de synchronisation, car au final je n'ai pas les mêmes valeurs !

    Mon but c'est d'accorder par exemple à la machine 'A' la priorité ou les droits pour que la modification faite dans sa base de données écrase l'autre modification, je ne sais pas concrétement comment ca s'appelle , c'est un peu de la gestion des droits des utilisateurs !
    n'hésitez pas à me poser des questions si ce n'est pas clair !

    A+

    a+

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 633
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    Citation Envoyé par enigmma Voir le message
    je fais cette opération à la même seconde, il y a deux résultats possible
    Sauf que, dans les faits, l'une des deux transactions s'exécute quelques nanosecondes après l'autre. C'est la raison pour laquelle seul le résultat de la dernière exécutée s'applique sur les deux serveurs.
    Ce qui compte, c'est qu'à la fin, on ait bien la même valeur sur la même table de chacun des n serveurs, c'est ça que vous devez contrôler.


    Citation Envoyé par enigmma Voir le message
    avez vous une idée sur comment peut-on contôler la modification à prendre en considération si deux machines font un 'update' d'un même enregistrement ?
    Il n'y a pas d'enregistrement dans une base de données, il y a des lignes

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    Bonjour escartefigue,

    Sauf que, dans les faits, l'une des deux transactions s'exécute quelques nanosecondes après l'autre. C'est la raison pour laquelle seul le résultat de la dernière exécutée s'applique sur les deux serveurs.
    Ce qui compte, c'est qu'à la fin, on ait bien la même valeur sur la même table de chacun des n serveurs, c'est ça que vous devez contrôler.
    Vous avez raison c'est ce qu'il faut contrôler et c'est justement là le problème car finalement je n'ai pas la même valeur, c'est soit chaque machine garde la modifcation qui a été faite sur sa base de données, ou chaque machine prends la modification de l'autre machine, et au final je n'ai jamais la même valeur !

    c'est pourquoi je veux contrôler cette erreur en donnant par exemple à la machine 'A' les droits d'administrateur ou la priorité, je sais que je n'utilise pas vraiment le bon vocabulaire mais j'espère que vous m'avez compris sinon corrigez moi ou si vous avez des questions vous pouvez me les poser !!

    @+

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2015, 12h53
  2. Réponses: 0
    Dernier message: 09/04/2014, 19h14
  3. Problème de lancement de master à partir d'une clé USB
    Par Nox1669 dans le forum Autres Solutions d'entreprise
    Réponses: 0
    Dernier message: 10/11/2010, 09h36
  4. MySQL-PROXY et réplication MASTER/SLAVE
    Par max2france dans le forum Administration
    Réponses: 1
    Dernier message: 14/04/2010, 15h12
  5. MySQL problème réplication master/master
    Par doog77 dans le forum Administration
    Réponses: 5
    Dernier message: 26/09/2009, 00h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo