Question :
We have Master-Master Replication and it is configured correctly as it transmit data for certain period of time and after that it does not send further events till we stop/start slave on both nodes.
When I run Show Slave StatusG
, it displays
Seconds_Behind_Master
as 0Slave_SQL_Running
asYes
Slave_IO_Running
asYes
server_id
is also different for both nodes.
My Server Info
- MySQL Version is 5.6.23
- Windows Server 2012
Any help would be great.
Answer :
This could be one of two things
- Slave I/O Thread is encountering Network Issues
- Slave I/O is Playing Possum (pretending to be dead)
Derek Downey and I have written posts about the flaky behavior of the Slave’s I/O Thread
Oct 17, 2011
: Master port is disabled from Public IP, MySQL log is not getting refreshedSep 30, 2011
: Can we capture only Slave_IO_Running in SHOW SLAVE STATUS in MySQL)
According to the Bug Reports on this phenomenon, it was supposedly fixed.
See (Bug #30703 and Bug #51089)
If this bug is happening to you, someone missed a patch making MySQL 5.6.23.
I have three suggestions
- Drop back to MySQL 5.6.22 or 5.6.21 or last version of MySQL 5.6 where replication was working
- Use MySQL 5.6’s heartbeat option when running CHANGE MASTER TO.
- Implement semisynchronous replication
As for the Network
- Check Network For Dropped Packets
- Check the NIC Card
- Use separate NIC card for Replication Traffic
Other that what I have just said, sorry I don’t have a silver bullet for this one 🙁