Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/08/2006, 14h11   #1
Invité de passage
 
Inscription : août 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 6
Points : 1
Points : 1
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.
joleportos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 14h38   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
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).
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 14h48   #3
Invité de passage
 
Inscription : août 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 6
Points : 1
Points : 1
t'as donc pas une option disponible pour ne pas perdre les données lorsque tu fais ton "load data from master" ?
joleportos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 15h18   #4
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Je ne pense pas. En tout cas je te conseille de sauvegarder tes bases avant de tenter quoi que ce soit
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 15h35   #5
Invité de passage
 
Inscription : août 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 6
Points : 1
Points : 1
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 ?
joleportos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 15h45   #6
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
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...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 17h45   #7
Invité de passage
 
Inscription : août 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 6
Points : 1
Points : 1
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.
joleportos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2006, 01h26   #8
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
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.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 16h21   #9
Invité de passage
 
Inscription : août 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 6
Points : 1
Points : 1
Merci pour ton aide...
je vais étudier tout ça
joleportos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h08.


 
 
 
 
Partenaires

Hébergement Web