I have 3 servers

  • Server A master to Server B
  • Server B master to Server A and Server C
  • Server C slave to Server B

When I add table to Server A, it replicated on server B but not in Server C

When I add table to Server B, it replicated to server A and Server C

Why is this happening, is there any configuration to make sure when I add table in Server A, it replicate on both Server B and Server C

Thank you

  • I will readily admit that MySQL replication isn't my field of expertise, but this setup sounds rather convoluted to me. Might that contribute to your problems? – a CVn Dec 18 '15 at 9:38
  • @MichaelKjörling it might sound convoluted, but it's a reasonably common and supported configuration. A and B are redundant writable masters, and C is a read-only replica for read offloading, reporting, analytics, or backups. Replication cascades are a relatively straightforward setup, and the answer below probably has nailed it; log_slave_updates has to be enabled for slaves of B to see events replicated from A. – Michael - sqlbot Dec 18 '15 at 12:42
  • 1
    @Michael-sqlbot Sounds fair enough. Like I said, this isn't my field of expertise. – a CVn Dec 18 '15 at 12:57

You need to enable log-slave-updates in configuration of server B. This option allow server B to save updates received from server A to its binlog, so server C can see it as new transaction and will replicate it. If this option is disallowed, server B just apply changes received from server A but not propagate it into server C. More info you can find in mysql documentation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.