7.2 mysqlpump
MySQL5.7之后多了一个备份工具:mysqlpump。它是mysqldump的一个衍生,mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文本保存。逻辑备份相对物理备份的好处是不关心undo log的大小,直接备份数据即可,默认情况下仅备份:表,视图和触发器,生产上建议使用,它最主要的特点是:
a.并行备份数据库和数据库中的对象的,加快备份过程。
b.更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。
c.备份用户账号作为帐户管理语句(CREATE USER,GRANT),而不是直接插入到MySQL的系统数据库。
d.备份出来直接生成压缩后的备份文件。
e.备份进度指示(估计值)。
f.重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。
g.备份可以排除或则指定数据库。
1mysqlpump导出案例:21)备份 db_school 库下的 student 表3mysqlpump -uroot -proot -h192.168.1.54 -P3310 db_school student --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /dumpbak/db_school_student.sql452)备份 db_school 库6mysqlpump -uroot -proot db_school --single-transaction --default-parallelism=4 > /dumpbak/db_school.sql783)备份 db_school 库和 db1 库9mysqlpump -uroot -proot sbtest --databases db_school db1 --single-transaction --default-parallelism=4 > /dumpbak/db_school_db1.sql10114)备份所有数据库12mysqlpump -uroot -proot --all-databases --single-transaction --default-parallelism=4 > /dumpbak/all_fullbak.sql1314注:多个表、多个 DB 可以并行导出(多线程并行导出),单个表不支持并行。