|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 9 ![]() |
Bonjour
J'ai deux postes ou sont installés deux bases mysql V5 identiques je voudrais que les mises a jour de la base du poste A soient reportées sur la base du poste B et inversement les modifications du poste B soient reportées sur la base du poste A. merci a celui ou celle qui me répondra E.H |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Il faut que tu mettes en place deux réplications, une de A vers B et l'autre de B vers A...
http://dev.mysql.com/doc/refman/5.0/fr/replication.html Ceci dit, en général on s'arrange plutôt pour faire toute les modifs sur un serveur afin de faire une réplication unidirectionnelle. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 9 ![]() |
Si la base A disparait pendant 1 journée ou deux peut-il y avoir un risque au redémarrage de A que B se mette à jour en allant voir la base A perdant ainsi des choses alors que cela devrait être l'inverse ?
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Je suis loin d'être un spécialiste de la réplication, mais je vais te donner le principe de fonctionnement. L'idée est que les deux bases sont initialisées à l'identique. Ensuite, le serveur maître enregistre dans un journal (binary log) toutes les requêtes de modif lui qui sont passées. L'esclave récupère le journal et rejoue l'ensemble des requêtes, qui doivent logiquement donner le même résultat (il y a un traitement spécial des fonctions non déterministes comme RAND ou NOW).
Dans une réplication unidirectionnelle, ce n'est pas grave que la communication soit coupée pendant un certain temps, parce que dès qu'elle sera rétablie l'esclave reproduira ce qui c'est passé sur le maître pendant le temps de coupure. Si par contre tu mets en place une réplication mutuelle, tu cours le risque qu'il y ait des mises à jour conflictuelles, par exemple si la même donnée est modifiée différemment sur chaque serveur, ou encore si sur A on insère une ligne avec une clé étrangère référençant une donnée qui est supprimée pendant ce temps-là sur B. Si tes deux serveurs sont connectés en permanence, il y a relativement peu de risques de conflits parce que les répercussions sont rapides. Si par contre tu les laisses déconnectés pendant plusieurs jours, tu es sûr de te retrouver avec un gros paquet de données conflictuelles. C'est pour cela qu'on préfère généralement avoir un seul maître qui détermine quelle est la bonne version, quitte à interdire la saisie en cas de coupure, plutôt que de se retrouver avec des incohérences. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 9 ![]() |
En fait ce que je veux faire c'est que si A est maître A tombe je veux que B devienne maitre il le restera alors.Si B tombe et qu'il ètait maître alors A redevient maitre .
On a alors la réplication de A vers B quand A est maitre. ou de B vers A quand B est devenu maître. Est ce possible de faire cela ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com