mydumper和myloader的常见用法

1.全库备份
mydumper -u mydumper_user -p mydumper-pass -G -E -R r 100000 -F 64 -t 1 -0 /data/backup/mydumper

其中,-G -E-R 分别用来备份触发器、定时器和存储过程(函数)r 指定了分片的大小,-F 指定了单个chunk的大小,-t 指定了备份线程的数量。


2.备份单个库
mydumper -8 db1 -u mydumper_user -p mydumper_pass -o /data/backup/mydumper

这里会备份db1库。


3.备份多个表
mydumper -T db1.t1,db2.t2 -u mydumper_user -p mydumper_pass -o /data/backup/mydun

这里会备份db1.t1和db2.t2 两张表


4.备份多个库
mydumper -8 'db1,db2' -u mydumper_user -p mydumper_pass -0 /data/backup/mydumper

这里会备份db1和db2两个库


5.忽略指定库的备份
mydumper -x '^(?!db1[.]ldb2[.])' -u mydumper_user -p mydumper_pass -o /data/backup/mydumper

这里会忽略 dbl和 db2 库的备份,[.] 是对点(.) 的转义。


6.忽略指定表的备份
mydumper -0 /tmp/skip_tables -u mydumper_user -p mydumper_pass -o /data/backup/mydumper

其中,/tmp/skip tables 的内容如下
cat /tmp/skip_tables
db1.t1
db2.t2

也可使用正则表达式来过滤,例如:
mydumper -x 'a(?!db1[.]t1db2[.]t2)’ -u mydumper_user -p mydumper_pass -o /data/backup/mydumper


7.流式备份
mydumper -u mydumper_user -p mydumper-pass .-stream ] lz4 > /data/backup/mydumper /full_backup.lz4

1z4 是压缩算法,这里是备份到本地,也可直接备份到远程服务器,例如:
mydumper -u mydumper_user -p mydumper_pass --stream   lz4  ssh root@10.0.20.4 "cat - >/data/backup/mydumper/full_backup.lz4"

除此之外,还能边备份边导入。
mydumper -u mydumper_user -p mydumper_pass --stream [ myloader -h 10.0.20.4 -P 3307 -u mydumper_usei-p mydumper_pass -d /data/backup/3307 --stream


8.全库还原
myloader -u mydumper_user -p mydumper_pass -o -e -t 8 -d /data/backup/mydumper/

其中,-o用于删除已经存在的表或视图,-e 用于开启 binlog,-t 指定导入的并发线程数


9.导入指定库
myloader -u mydumper_user -p mydumper_pass -e -s db1 -d /data/backup/mydumper/

该命令会导人 db1库的数据


10.将指定库中的数据导入另一个库
myloader -u mydumper_user -p mydumper_pass -e -s db1 -8 db1_new -d /data/backup/mydumper/

这里会将db1中的数据导人 dbl new。

 

posted @ 2023-05-21 23:04  屠魔的少年  阅读(20)  评论(0)    收藏  举报