To fix a corruption problem in a replication master database, you can restore the backup, taking care not to propagate unnecessary SQL operations to the slave servers:
Using the backup of the master database, do the
apply-log operation, shut down the database,
and do the copy-back operation.
Edit the master my.cnf file and comment
out log-bin, so that the slaves do not
receive twice the binlog needed to recover the master.
Replication in the slaves must be stopped temporarily while you pipe the binlog to the master. In the slaves, do:
mysql> STOP SLAVE;
Start the master mysqld on the restored backup:
$ mysqld … InnoDB: Doing recovery: scanned up to log sequence number 0 64300044 InnoDB: Last MySQL binlog file position 05585832, file name ./omnibook-bin.002…
InnoDB printed the binlog file and position it was able to recover to.
Now pipe the remaining binlog files to the restored backup:
$ mysqlbinlog --start-position=5585832 mysqldatadir/omnibook-bin.002 | mysql $ mysqlbinlog /mysqldatadir/omnibook-bin.003 | mysql
The master database is now recovered. Shut down the master and
edit my.cnf to uncomment
log-bin.
Start the master again.
Start replication in the slaves again:
mysql> START SLAVE;

User Comments
Add your own comment.