MySQL Incremental backups with Master-Slave replication

incremental-backupmaster-slaveMySQL

we have a MySQL system in Master-slave replication mode. Currently we are doing full backups with mysqldumps to a remote disk server.

I think is best to do one full dump and many small incremental backups. According to the MySQL manual, MySQL uses the binlogs to make theses incremental backups, flushing binlogs each time an incremental backup is completed. But we already use binlogs to achieve Master-Slave replication.

My question is: how does this incremental backup and binlogs flushing affect the master-slave replication?

P.S:forgot to say, most of the tables use InnoDB, the others use MyISAM

Best Answer

Well a packed question, let me try to answer all the issues you raised there.

Binary backups vs dumps

Right now you're using mysqldump to do full backups of your database, that's a good practice indeed but it can get a bit endearing when dealing with huge MySQL installations. Binary backups are good point in time backups, but you need two parts, one full binary backup (which needs to be consistent) and the binary diff logs. Of course the time for recovery for one an the other is drastically different too, it all depends as said on the size of your database and your turnover times.

How flushing the binlogs will affect replication

It won't affect replication if you flush the logs always after they've been transmitted to the slave, otherwise you'll run into some nasty issues due to the slave not being able to request the exact block of the binlog that it needs