mk-parallel-dump 实验
http://www.maatkit.org/
手册地址:
http://www.maatkit.org/doc
以下实验,我们是按照默认2个线程来执行的.
1. 备份到默认的目录,DEFAULT
[root@ytt backup]# mk-parallel-dump --databases=t_girl --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/
default: 2 tables, 2 chunks, 2 successes, 0 failures, 0.08 wall-clock time, 0.11 dump time
备份的数据按照30M的块来截断。
[root@ytt backup]# mk-parallel-dump --databases=t_girl --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --chunk-size=30M
default: 3 tables, 12 chunks, 12 successes, 0 failures, 18.75 wall-clock time, 36.40 dump time
下面就是所备份的。
[root@ytt backup]# ls -lsh default/t_girl/
total 14M
4.0K -rw-r--r-- 1 root root 1.6K Oct 16 05:30 scores.000000.sql.gz
4.0K -rw-r--r-- 1 root root 4 Oct 16 05:29 scores.chunks
4.0K -rw-r--r-- 1 root root 904 Oct 16 05:30 t1.000000.sql.gz
4.0K -rw-r--r-- 1 root root 4 Oct 16 05:29 t1.chunks
924K -rw-r--r-- 1 root root 920K Oct 16 05:30 tb_girl.000000.sql.gz
1.4M -rw-r--r-- 1 root root 1.4M Oct 16 05:30 tb_girl.000001.sql.gz
。。。
248K -rw-r--r-- 1 root root 242K Oct 16 05:29 tb_girl.000009.sql.gz
4.0K -rw-r--r-- 1 root root 305 Oct 16 05:29 tb_girl.chunks
--dry-run 打印出将要执行的命令,但是不真正执行。
[root@ytt backup]# mk-parallel-dump --databases=t_girl --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --chunk-size=30M --dry-run
...
mysqldump '--host='localhost'' '--socket='/tmp/mysql1.sock'' --skip-lock-all-tables --skip-lock-tables --add-drop-table --add-locks --allow-keywords --comments --complete-insert --create-options --disable-keys --extended-insert --quick --quote-names --set-charset --skip-triggers --tz-utc --no-create-info t_girl tb_girl --where '`id` >= 2123809 AND `id` < 2389285' | gzip --force --fast --stdout - > '/home/david.yang/backup/default/t_girl/tb_girl.000008.sql.gz'
...
2. 备份到指定的目录,下面是T1。具体方法参见手册。
[root@ytt backup]# mk-parallel-dump --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --chunk-size=30M --sets=t1 --set-table=t_girl.backupset
t1: 1 tables, 10 chunks, 10 successes, 0 failures, 10.56 wall-clock time, 20.96 dump time
[root@ytt backup]# ls -l
total 4
drwxr-xr-x 3 root root 4096 Oct 16 05:57 t1
3. 跟我的脚本对比
[root@ytt backup]# time /home/david.yang/fast_backup t_girl
real 0m8.805s
user 0m2.996s
sys 0m0.967s
[root@ytt backup]# time mk-parallel-dump --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --databases=t_girl --nogzip
default: 4 tables, 4 chunks, 4 successes, 0 failures, 8.94 wall-clock time, 8.92 dump time
real 0m10.278s
user 0m1.200s
sys 0m2.937s
时间时间比普通的DUMP长点,不过可能是因为打印的东西太多了。
4. 恢复。
关于恢复的时间我就不比较了,因为这次的测试都是基于mysqldump。
[root@ytt backup]# mk-parallel-restore --socket=/tmp/mysql1.sock --databases=t_girl /home/david.yang/backup/
http://www.maatkit.org/
手册地址:
http://www.maatkit.org/doc
以下实验,我们是按照默认2个线程来执行的.
1. 备份到默认的目录,DEFAULT
[root@ytt backup]# mk-parallel-dump --databases=t_girl --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/
default: 2 tables, 2 chunks, 2 successes, 0 failures, 0.08 wall-clock time, 0.11 dump time
备份的数据按照30M的块来截断。
[root@ytt backup]# mk-parallel-dump --databases=t_girl --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --chunk-size=30M
default: 3 tables, 12 chunks, 12 successes, 0 failures, 18.75 wall-clock time, 36.40 dump time
下面就是所备份的。
[root@ytt backup]# ls -lsh default/t_girl/
total 14M
4.0K -rw-r--r-- 1 root root 1.6K Oct 16 05:30 scores.000000.sql.gz
4.0K -rw-r--r-- 1 root root 4 Oct 16 05:29 scores.chunks
4.0K -rw-r--r-- 1 root root 904 Oct 16 05:30 t1.000000.sql.gz
4.0K -rw-r--r-- 1 root root 4 Oct 16 05:29 t1.chunks
924K -rw-r--r-- 1 root root 920K Oct 16 05:30 tb_girl.000000.sql.gz
1.4M -rw-r--r-- 1 root root 1.4M Oct 16 05:30 tb_girl.000001.sql.gz
。。。
248K -rw-r--r-- 1 root root 242K Oct 16 05:29 tb_girl.000009.sql.gz
4.0K -rw-r--r-- 1 root root 305 Oct 16 05:29 tb_girl.chunks
--dry-run 打印出将要执行的命令,但是不真正执行。
[root@ytt backup]# mk-parallel-dump --databases=t_girl --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --chunk-size=30M --dry-run
...
mysqldump '--host='localhost'' '--socket='/tmp/mysql1.sock'' --skip-lock-all-tables --skip-lock-tables --add-drop-table --add-locks --allow-keywords --comments --complete-insert --create-options --disable-keys --extended-insert --quick --quote-names --set-charset --skip-triggers --tz-utc --no-create-info t_girl tb_girl --where '`id` >= 2123809 AND `id` < 2389285' | gzip --force --fast --stdout - > '/home/david.yang/backup/default/t_girl/tb_girl.000008.sql.gz'
...
2. 备份到指定的目录,下面是T1。具体方法参见手册。
[root@ytt backup]# mk-parallel-dump --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --chunk-size=30M --sets=t1 --set-table=t_girl.backupset
t1: 1 tables, 10 chunks, 10 successes, 0 failures, 10.56 wall-clock time, 20.96 dump time
[root@ytt backup]# ls -l
total 4
drwxr-xr-x 3 root root 4096 Oct 16 05:57 t1
3. 跟我的脚本对比
[root@ytt backup]# time /home/david.yang/fast_backup t_girl
real 0m8.805s
user 0m2.996s
sys 0m0.967s
[root@ytt backup]# time mk-parallel-dump --host=localhost --socket=/tmp/mysql1.sock --base-dir=/home/david.yang/backup/ --databases=t_girl --nogzip
default: 4 tables, 4 chunks, 4 successes, 0 failures, 8.94 wall-clock time, 8.92 dump time
real 0m10.278s
user 0m1.200s
sys 0m2.937s
时间时间比普通的DUMP长点,不过可能是因为打印的东西太多了。
4. 恢复。
关于恢复的时间我就不比较了,因为这次的测试都是基于mysqldump。
[root@ytt backup]# mk-parallel-restore --socket=/tmp/mysql1.sock --databases=t_girl /home/david.yang/backup/
4 tables, 4 files, 4 successes, 0 failures, 106.23 wall-clock time, 107.63 load time
本文转自 david_yeung 51CTO博客,原文链接:http://blog.51cto.com/yueliangdao0608/215618,如需转载请自行联系原作者