Mysql – How to stream and record MySQL binlog remotely

MySQLmysql-replication

For data redundancy goals, I want to record the binlog of a few hundred mysql servers in a central location. To run a full replicator for each stream would require lots of resources (multiple servers) because the execution of the statements take a lot of cpu. My assumption is that just recording the binlog would take significant fewer resources.

How to do it? I found http://search.cpan.org/~alfie/MySQL-Replication-0.0.2/bin/MySQLReplicationClient.pl but that seems to use non-native replication (it requires an extra database) and seems to be in alpha state.

Perhaps another solution is to install a full mysql server as a replication slave, but somehow disable the execution of replicated statements and just log them.

Thanks!

Best Answer

Thanks to NickW!!

This is exactly what I need:

http://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog-backup.html

--stop-never: Stay connected to the server after reaching the end of the last log file and continue to read new events.

I'm running 5.5 but I'll backport the 5.6 mysqlbinlog util.

Also of interest might be Percona Xtrabackup with xbstream continous backup feature: http://www.percona.com/doc/percona-xtrabackup/glossary.html#term-xbstream