mysqlpump参数详解

mysqlpump和mysqldump很多参数一样,这里讲一讲不一样的部分

--add-drop-user   在CREATE USER语句之前增加DROP USER。 注意:这个参数需要和--users一起使用,否则不生效

--compress-output=name  使用LZ4或者ZLIB压缩算法压缩所有输出文件

解压方式如下:
               解压命令      压缩文件      解压后的文件
LZ4  lz4_decompress    a.LZ4         a.sql
ZLIB zlib_decompress a.ZLIB         a.sql

 --default-parallelism=#   指定处理并行的线程数,为0则表示不并行,默认值是2

当前表结构

mysqlpump参数详解_第1张图片

备份文件中的建表语句

mysqlpump参数详解_第2张图片

可以看到建表语句中含有创建主键的语句,但没有包含创建索引的语句,这有由于defer-table-indexes参数影响的,该参数默认开启,可以通过--skip-defer-table-indexes禁用

mysqlpump参数详解_第3张图片

--defer-table-indexes:延迟创建索引,直到所有数据都加载完之后,再创建索引,默认开启。若关闭则会和mysqldump一样:先创建一个表和所有索引,再导入数据,因为在加载还原数据的时候要维护二级索引的开销,导致效率比较低。关闭使用参数:--skip--defer-table-indexes。

 --exclude-databases:备份排除该参数指定的数据库,多个用逗号分隔类似的还有--exclude-events、--exclude-routines、--exclude-tables、--exclude-triggers、--exclude-users

--include-databases:指定备份数据库,多个用逗号分隔,类似的还有--include-events、--include-routines、--include-tables、--include-triggers、--include-users

 --parallel-schemas=[N:]db_list:指定并行备份的库,多个库用逗号分隔,如果指定了N,将使用N个线程的地队列,如果N不指定,将由 --default-parallelism才确认N的值,可以设置多个--parallel-schemas

--skip-definer:忽略那些创建视图和存储过程用到的 DEFINER 和 SQL SECURITY 语句,恢复的时候,会使用默认值,否则会在还原的时候看到没有DEFINER定义时的账号而报错。

通过上图可以看到二者的区别

--skip-dump-rows:只备份表结构,不备份数据,即-d。注意:mysqldump支持--no-data,mysqlpump不支持--no-data

可以看到结果没有数据

mysqlpump参数详解_第4张图片

 --users:备份数据库用户,备份的形式是CREATE USER...,GRANT...,只备份数据库账号可以通过如下命令

 --watch-progress:定期显示进度的完成,包括总数表、行和其他对象。该参数默认开启,用--skip-watch-progress来关闭。

mysqlpump参数详解_第5张图片

通过上图可以看到二者的区别,后者没有显示备份的进度

借鉴大佬的文章:https://www.cnblogs.com/kevingrace/p/9760185.html

你可能感兴趣的:(mysql)