Je suis en train de migrer 2 serveurs DB (maître et esclave) vers deux nouveaux serveurs DB (maître et esclave)
DB1 - Master (production)
DB2 - Esclave (production)
DB3 - Nouveau maître
DB4 - Nouvel esclave
Actuellement, la réplication est configurée comme suit:
DB1 -> DB2
DB3 -> DB4
Pour obtenir les données de production répliquées sur les nouveaux serveurs, j'aimerais les "chaîner" pour qu'elles ressemblent à ceci:
DB1 -> DB2 -> DB3 -> DB4
Est-ce possible? Lorsque je show master status;
tourne sur DB2 (l'esclave de production), la possession binlog ne semble jamais changer:
+ ------------------ + ---------- + -------------- + ---- -------------- + | Fichier | Position | Binlog_Do_DB | Binlog_Ignore_DB | + ------------------ + ---------- + -------------- + ---- -------------- + | mysql-bin.000020 | 98 | | | + ------------------ + ---------- + -------------- + ---- -------------- +
Je suis un peu confus quant à la raison pour laquelle la position binlog ne change pas sur DB2, Idéalement, ce sera le maître de DB3.
la source
Oui, c'est possible :) Cela s'appelle la réplication "Master with Relay Slave" et il y a beaucoup de documents à ce sujet sur le net.
Je vous recommande de jeter un œil à la documentation officielle ici .
Btw, jetez également un œil à ces diapositives . Ils ont quelques conseils sur les topologies de réplication.
J'espère que cela t'aides.
la source
oui - vous pouvez chaîner des serveurs mysql en guirlande, vous pouvez même faire une réplication circulaire avec deux machines ou plus. n'oubliez pas d'activer le binloging sur l'esclave qui agit également comme maître.
la source
Oui c'est possible. De façon réaliste, vous avez besoin d'un nouvel instantané de DB2 pour créer DB3. À ce stade, si vous avez une bonne position, vous pouvez soit utiliser que pour DB4 ou prendre un autre instantané de DB3.
N'oubliez pas de définir un unique
server_id
pour chaque serveur.High Performance MySQL est un excellent livre pour référencer une administration MySQL plus avancée.
la source
Pourquoi ne pas simplement ajouter DB3 en tant que nouvel esclave, puis le promouvoir en tant que maître lorsque vous êtes prêt à effectuer le changement? Cela vous donnerait l'avantage supplémentaire temporaire d'avoir plusieurs esclaves, et de réduire ou d'éliminer votre temps d'arrêt.
la source