Mysqldump和mysqlpump以及mydumper 选用
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。因此业务需要进行数据库备份以保证数据的安全性,所以决定对数据库进行定时备份,考虑到后期维护成本等原因考虑使用shell脚本对数据库进行自动定时备份。市面上比较流行的备份工具有 Mysqldump、mysqlpump、mydumper等,针对选用问题总结如下:
工具对比 mysqlpump mysqldump mydumper
基础功能 具备 具备 具备
实现速度 快 慢 快
压缩功能 具备 不具备 具备
还原速度 快 慢 快
综上所述,我们不考虑使用mysqldump,在mysqlpump以及mydumper中进行选择:
mysqldump
(1)mysql官方自带的备份工具
(2)支持基于表的并行导出功能
(3)导出的时候带有进度条
(4)支持直接压缩导出导入(支持ZLIB和LZ4)
(5)重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。
(6)更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。
缺点:
(1)MySQL5.7.11之前的版本不要使用,并行导出和single-transaction是互斥的(如果想写成通用脚本最好不要使用mysqlpump)
(2