I just heard about mysqlpump – it looks like it was released with MySQL 5.7, however MySQL 5.7 still includes mysqldump. They're both backup programs, but could anyone summarize the main differences? Are there scenarios where one of them might work better? Is mysqldump going to be phased out for mysqlpump?
Thesqldump vs thesqlpump
backupexportMySQLmysqldump
Related Question
- Mysql – How to make TokuDB engine on Percona delete faster
- MySQL – How to Migrate Huge Databases One by One to New Server
- Mysql – How to take a full backup from MySQL without any System tables
- MySQL 5.6 Bug Amazon RDS with replica. AFTER INSERT TRIGGER is not working. Solutions
- Mysql – Live migrate a database from one instance to another with zero/minimal downtime
- MySQL join has drastically worse performance after upgrading from 5.6 to 5.7
- MySQL – Why MySQL is Using More Memory Than Expected
- MySQL – mysqldump Select Queries in Slow Query Log After Upgrade
Best Answer
Since I happened to be researching this myself, here's a summary of what I found.
According to a 2015 blog post from the MySQL dev team, the main advantages of mysqlpump are that it can use multiple threads in parallel to speed up the dumping and that it doesn't share mysqldump's backwards compatibility requirements, which should open the door for further improvements.
However, the post cautions that mysqlpump is "currently unsafe as a general purpose backup replacement" because individual threads may generate their sections of the dump from different states of the database. It doesn't mention any plans to deprecate mysqldump.
Giuseppe Maxia played around with mysqlpump in 2015 and found the dumping speed-up to be fairly small. He appreciated the new ability to select precisely which objects to dump, but noted that loading the dump back in can only be done single-threaded and that (unlike mysqldump) dumps can only be loaded back into databases with the same name.