If you have a repeatable test case that demonstrates the bug, please enter it into our bugs database using the instructions given in Section 1.8, "How to Report Bugs or Problems." If you have a "phantom" problem (one that you cannot duplicate at will), use the following procedure:
Verify that no user error is involved. For example, if you update the slave outside of the slave thread, the data goes out of synchrony, and you can have unique key violations on updates. In this case, the slave thread stops and waits for you to clean up the tables manually to bring them into synchrony. This is not a replication problem. It is a problem of outside interference causing replication to fail.
Run the slave with the --log-slave-updates and --log-bin options. These options cause the slave to log the updates that it receives from the master into its own binary logs.
Save all evidence before resetting the replication state. If we have no information or only sketchy information, it becomes difficult or impossible for us to track down the problem. The evidence you should collect is:
All binary logs from the master
All binary logs from the slave
The output of SHOW MASTER STATUS from the master at the time you discovered the problem
The output of SHOW SLAVE STATUS from the slave at the time you discovered the problem
Error logs from the master and the slave
to examine the binary logs. The following should be helpful to find the problem statement. log_pos
are the Master_Log_File
values from SHOW SLAVE STATUS
shell> mysqlbinlog -j log_pos log_file | head
After you have collected the evidence for the problem, try to isolate it as a separate test case first. Then enter the problem with as much information as possible into our bugs database using the instructions at Section 1.8, "How to Report Bugs or Problems."