21::备份不写CREATE DATABASE语句。要是备份多个库,需要使用参数-B,而使用-B的时候会出现create database语句,该参数可以屏蔽create database 语句。
22::备份不写建表语句,即不备份表结构,只备份数据,-t。
23:: 备份binary字段的时候使用十六进制计数法,受影响的字段类型有BINARY、VARBINARY、BLOB、BIT。
24: :备份指定的数据库地址,-h。
25::指定并行备份的库,多个库用逗号分隔,如果指定了N,将使用N个线程的地队列,如果N不指定,将由 --default-parallelism才确认N的值,可以设置多个。
mysqlpump --parallel-schemas=4:vs,aa --parallel-schemas=3:pt #4个线程备份vs和aa,3个线程备份pt。通过show processlist 可以看到有7个线程。 mysqlpump --parallel-schemas=vs,abc --parallel-schemas=pt #默认2个线程,即2个线程备份vs和abc,2个线程备份pt ####当然要是硬盘IO不允许的话,可以少开几个线程和数据库进行并行备份
26::备份需要的密码。
27: :备份数据库的端口。
28::指定连接服务器的协议。
29::备份出来replace into语句。
30::备份出来包含存储过程和函数,默认开启,需要对 mysql.proc表有查看权限。生成的文件中会包含CREATE PROCEDURE 和 CREATE FUNCTION语句以用于恢复,关闭则需要用--skip-routines参数。
31::备份出来包含触发器,默认开启,使用来关闭。
31::备份文件里写SET NAMES default_character_set 到输出,此参默认开启。 -- skip-set-charset禁用此参数,不会在备份文件里面写出set names...
32::该参数在事务隔离级别设置成Repeatable Read,并在dump之前发送start transaction 语句给服务端。这在使用innodb时很有用,因为在发出start transaction时,保证了在不阻塞任何应用下的一致性状态。对myisam和memory等非事务表,还是会改变状态的,当使用此参的时候要确保没有其他连接在使用ALTER TABLE、CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE等语句,否则会出现不正确的内容或则失败。--add-locks和此参互斥,在mysql5.7.11之前,--default-parallelism大于1的时候和此参也互斥,必须使用--default-parallelism=0。5.7.11之后解决了--single-transaction和--default-parallelism的互斥问题。
33::忽略那些创建视图和存储过程用到的 DEFINER 和 SQL SECURITY 语句,恢复的时候,会使用默认值,否则会在还原的时候看到没有DEFINER定义时的账号而报错。
34::只备份表结构,不备份数据,-d。注意:mysqldump支持--no-data,mysqlpump不支持--no-data
35::对于连接到localhost,Unix使用套接字文件,在Windows上是命名管道的名称使用,-S。
36::--ssl参数将要被去除,用取代。关于ssl相关的备份,请看。
37::备份时会在备份文件的最前几行添加SET TIME_ZONE='+00:00'。注意:如果还原的服务器不在同一个时区并且还原表中的列有timestamp字段,会导致还原出来的结果不一致。默认开启该参数,用 来关闭参数。
38::备份时候的用户名,-u。
39::备份数据库用户,备份的形式是CREATE USER...,GRANT...,只备份数据库账号可以通过如下命令:
mysqlpump --exclude-databases=% --users #过滤掉所有数据库
40::定期显示进度的完成,包括总数表、行和其他对象。该参数默认开启,用来关闭。
使用说明:
mysqlpump的架构如下图所示: