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 :

Replication de bases MySQL


Sujet :

Administration MySQL

  1. #1
    Invité
    Invité(e)
    Par défaut Replication de bases MySQL
    bonjour,

    je cherche à repliquer 2 bases MySQL sur 2 pc différents. J'ai configuré 1 pc en maitre, l'autre en esclave et ça fonctionne.

    Mon soucis est que les données repliquées dans le serveur esclave vont écrasées toutes les autres données présentes avant la répilcation. Y a t'il une solution pour éviter cela ?

    Merci de votre aide.

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Salut,

    Effectivement je pense qu'il y a écrasement si tu fais un LOAD DATA FROM MASTER avant de lancer la réplication.
    Mais cette commande ne concerne que les tables et bases recensées dans la réplication (options replicate-do-db, replicate-ignore-db...). Tu peux donc garder des tables et bases intactes à côté de celles qui sont répliquées.

    Si tu souhaites garder des anciennes données dans les tables répliquées, tu peux toujours les sauvegarder et les réinsérer après (en faisant attention aux éventuels conflits avec les données répliquées).

  3. #3
    Invité
    Invité(e)
    Par défaut
    t'as donc pas une option disponible pour ne pas perdre les données lorsque tu fais ton "load data from master" ?

  4. #4
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Je ne pense pas. En tout cas je te conseille de sauvegarder tes bases avant de tenter quoi que ce soit

  5. #5
    Invité
    Invité(e)
    Par défaut
    oui c'est clair, là je suis sur des bases tests.
    Je suis assez deçu de la méthode de replication de mysql.

    Aurais tu par hasard d'autres idées ?

  6. #6
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Ben déjà c'est rare quand un slave contient autre chose que les données répliquées du master. La réplication sert surtout dans un contexte de haute disponibilité, pour avoir un failover si le master tombe en rade ou pour augmenter les performances (ex pour la bdd d'un forum : l'utilisation courante se fait sur le master, les recherches sur le slave).

    Du coup peut-être qu'une autre technique serait plus adaptée à ton cas mais il faudrait plus de détails...

  7. #7
    Invité
    Invité(e)
    Par défaut
    ok, voila ce que je cherche :
    j'ai une BD MySQL su un pc portable, une autre sur un pc fixe. en gros j'ai besoin de mettre a jour regulièrement la BD du PC fixe tout en gardant les données sur l pc portable, en sachant que plusieurs portables se connecteront au fixe pour mettre à jour la base.

  8. #8
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Malheureusement à ma connaissance ce n'est pas possible avec MySQL seul. En effet ça nécessite de stocker l'heure de dernière synchronisation avec la base centrale pour chaque portable (on ne va pas synchroniser toutes les données mais seules celles qui ont été modifiées sur le portable entre-temps) et les modifications concurrentes posent problème (que se passe-t-il si 2 portables modifient la même donnée de leur côté puis mettent à jour la base centrale ?)

    Par contre il doit exister d'autres solutions :

    - Des outils de synchronisation comme celui-ci : http://www.sitepoint.com/article/mys...lyog-job-agent

    - Elaborer un système qui va détecter d'une manière ou d'une autre l'heure de dernière synchronisation avec la base centrale et piocher dans les logs de la base du portable uniquement les requêtes à partir de cette heure-là (oui, c'est tordu...)
    Ou bien activer le log binaire sur chaque portable, exécuter son contenu avec mysqlbinlog pour synchroniser la base puis tout de suite après supprimer les fichiers logs...

    - Si tu développes en .NET il me semble qu'ADO .NET permet de travailler en mode déconnecté. Les données sont stockées dans un dataset au format XML sur le poste local, puis synchronisées quand on se reconnecte au serveur de bases de données.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Merci pour ton aide...
    je vais étudier tout ça

Discussions similaires

  1. problème de replication de base MYSQL
    Par gapson dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 12/02/2010, 17h11
  2. [MySQL] probleme de replication de base donnée mysql avec php
    Par christclamard dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/02/2008, 20h42
  3. Replication de bases Mysql - restriction pas de delete
    Par uvealoop dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 30/08/2007, 14h09
  4. Replication de base Mysql
    Par snach dans le forum Outils
    Réponses: 7
    Dernier message: 06/06/2007, 09h45
  5. Replication bases mysql
    Par VitoCorleone dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/09/2006, 14h23

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