A couple of years ago Domas Mituzas created a tool which could basically be thought of as basically a lightweight multi-threaded mysqldump. By this I mean it can retrieve data from multiple tables simultaneously and can even break a table down into parts for simultaneous retrieval. Sometime around 2010 I started hacking on mydumper too but stopped whilst working at Rackspace (Drizzle was way more than full-time for me).
Back when Domas first blogged about it he was managing to dump his sample data over 10x faster than mysqldump!
Since the 0.1 series Domas has fixed a lot of problems and since starting at SkySQL I have finished a lot of work that I started over a year ago.
Today sees the first release of the 0.2 series of mydumper, called 0.2.0. It has many changes over the last 0.1 release:
- Better error handling
- Many bug fixes
- Binary log dumping
- Compression protocol support
- Schema dumps
My personal favourite fetaure I added here is the binary log dumping. Mydumper can connect to a MySQL server and retrieve all the binary logs in parallel whilst also retrieving the table data.
Many more features are already in development including additional features on the binary log dumping but for those who want to try it now you can obtain the source from Launchpad here.