分类: LINUX
2012-03-02 14:00:27
mk-parallel-dump – 顾名思义,并行mysqldump工具。
mysqldump是单进程的,同时只能备份1个表。mk-parallel-dump它会同时并发4个mysqldump进程,同时备份4个表,
默认是先备份大表,在备份小表。和mysqldump出来生成一个文件不同,它将每个表生成一个单独的文件。默认使用gzip对文件进行压缩。
使用mysqldump备份40G左右的数据,大概需要2小时。而使用mk-parallel-dump不到1小时能完成,效率能提高200%左右。
例如:
mk-parallel-dump -u -p -h --base-dir /u01/backup/bk_mysql default: 1 tables, 1 chunks, 1 successes, 0 failures, 0.10 wall-clock time, 0.06 dump time |
恢复的话,直接解压导入就可,和mysqldump的恢复一样。当然也可以用mk-parallel-restore进行恢复
解释几个重要的参数文件。
–tab: 将数据备份成load data的形式,将生成一个load文本文件,一个建表sql文件。只能备份本地的MYSQL,不能远程。
--base-dir: 备份到指定目录。
--[no]gzip:是否压缩,默认是压缩。
mk-parallel-restore – Load files into MySQL in parallel. 安装方法可以参考这里。
并行备份,会把mysql的按照database模式,每个表都生成一个单独的备份文件,并统一在你指定的目录。mk-parallel-restore其实就是mk-parallel-dump的反向操作,也会同时启用4个mysql进程去进行恢复,默认优先恢复大表。
使用起来很简单。例如:
mk-parallel-restore -u -p -h --base-dir /u01/backup/bk_mysql |
mk-parallel-restore -u -p -h –tab --base-dir /u01/backup/bk_mysql |
这里需要注意一下,恢复的时候,如果恢复库没有备份库的database需要提前手工创建,mk-parallel-restore不会自动创建,否则会报错