MySQL5.7之后多了一个备份工具:mysqlpump。它是mysqldump的一个衍生
mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文本保存。逻辑备份相对物理备份的好处是不关心undo log的大小,直接备份数据即可。它最主要的特点是:

并行备份数据库和数据库中的对象的,加快备份过程。
更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。
备份用户账号作为帐户管理语句(CREATE USER,GRANT),而不是直接插入到MySQL的系统数据库。
备份出来直接生成压缩后的备份文件。
备份进度指示(估计值)。
重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。
备份可以排除或则指定数据库。

–add-drop-database:在建立库之前先执行删库操作。
–add-drop-table:在建表之前先执行删表操作。
–add-drop-user:在CREATE USER语句之前增加DROP USER,注意:这个参数需要和–users一起使用,否者不生效。
–all-databases:备份所有库,-A。
–bind-address:指定通过哪个网络接口来连接Mysql服务器(一台服务器可能有多个IP),防止同一个网卡出去影响业务。
–complete-insert:dump出包含所有列的完整insert语句。
–compress: 压缩客户端和服务器传输的所有的数据,-C。
–compress-output:默认不压缩输出,目前可以使用的压缩算法有LZ4和ZLIB。
mysqlpump –compress-output=LZ4 > dump.lz4
lz4_decompress dump.lz4 dump.txt
mysqlpump –compress-output=ZLIB > dump.zlib
zlib_decompress dump.zlib dump.txt
–databases:手动指定要备份的库,支持多个数据库,用空格分隔,-B。
–default-character-set:指定备份的字符集。
–default-parallelism:指定并行线程数,默认是2,如果设置成0,表示不使用并行备份。注意:每个线程的备份步骤是:先create table但不建立二级索引(主键会在create table时候建立),再写入数据,最后建立二级索引。
–defer-table-indexes:延迟创建索引,直到所有数据都加载完之后,再创建索引,默认开启。若关闭则会和mysqldump一样:先创建一个表和所有索引,再导入数据,因为在加载还原数据的时候要维护二级索引的开销,导致效率比较低。关闭使用参数:–skip–defer-table-indexes。
–events:备份数据库的事件,默认开启,关闭使用–skip-events参数。
–exclude-databases:备份排除该参数指定的数据库,多个用逗号分隔。
–include-databases:指定备份数据库,多个用逗号分隔
–insert-ignore:备份用insert ignore语句代替insert语句。
–log-error-file:备份出现的warnings和erros信息输出到一个指定的文件。
–no-create-info:备份不写建表语句,即不备份表结构,只备份数据,-t。
–host :备份指定的数据库地址,-h。
–parallel-schemas=[N:]db_list:指定并行备份的库,多个库用逗号分隔,如果指定了N,将使用N个线程的地队列,如果N不指定,将由 –default-parallelism才确认N的值,可以设置多个–parallel-schemas。
mysqlpump –parallel-schemas=4:vs,aa –parallel-schemas=3:pt #4个线程备份vs和aa,3个线程备份pt。
–password:备份需要的密码。
–port :备份数据库的端口。
–replace:备份出来replace into语句。
–routines:备份出来包含存储过程和函数,默认开启,需要对 mysql.proc表有查看权限。生成的文件中会包含CREATE PROCEDURE 和 CREATE FUNCTION语句以用于恢复,关闭则需要用–skip-routines参数。
–triggers:备份出来包含触发器,默认开启,使用–skip-triggers来关闭。
–set-charset:备份文件里写SET NAMES default_character_set 到输出,此参默认开启。 — skip-set-charset禁用此参数,不会在备份文件里面写出set names…
–skip-dump-rows:只备份表结构,不备份数据,-d。注意:mysqldump支持–no-data,mysqlpump不支持–no-data
–socket:对于连接到localhost,Unix使用套接字文件,在Windows上是命名管道的名称使用,-S。
–tz-utc:备份时会在备份文件的最前几行添加SET TIME_ZONE=’+00:00’。注意:如果还原的服务器不在同一个时区并且还原表中的列有timestamp字段,会导致还原出来的结果不一致。默认开启该参数,用 –skip-tz-utc来关闭参数。
–user:备份时候的用户名,-u。
–watch-progress:定期显示进度的完成,包括总数表、行和其他对象。该参数默认开启,用–skip-watch-progress来关闭。

本博客所有内容采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可

转载文章请注明:MySQL 5.7 mysqlpump 备份工具 - https://yangxx.net/?p=3537

分类: linux数据库

young

记住该记住的,忘记该忘记的,改变能改变的,接受不能改变的!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

我不是机器人*