Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MYSQLPUMP(1)		      MySQL Database System		    MYSQLPUMP(1)

NAME
     mysqlpump - a database backup program

SYNOPSIS
     mysqlpump [options] [db_name [tbl_name ...]]

DESCRIPTION
     *	 mysqlpump Invocation Syntax

     *	 mysqlpump Option Summary

     *	 mysqlpump Option Descriptions

     *	 mysqlpump Object Selection

     *	 mysqlpump Parallel Processing

     *	 mysqlpump Restrictions

     The  mysqlpump  client utility performs logical backups, producing a set of
     SQL statements that can be executed to reproduce the original database  ob-
     ject  definitions	and table data. It dumps one or more MySQL databases for
     backup or transfer to another SQL server.

	 Note

	 mysqlpump is deprecated as of MySQL 8.0.34; expect it to be removed  in
	 a future version of MySQL. You can use such MySQL programs as mysqldump
	 and MySQL Shell to perform logical backups, dump databases, and similar
	 tasks instead.

	 Tip

	 Consider  using the MySQL Shell dump utilities[1], which provide paral-
	 lel dumping with multiple threads, file compression, and  progress  in-
	 formation  display,  as well as cloud features such as Oracle Cloud In-
	 frastructure Object Storage streaming, and MySQL HeatWave compatibility
	 checks and modifications. Dumps can be easily	imported  into	a  MySQL
	 Server  instance  or  a  MySQL HeatWave DB System using the MySQL Shell
	 load dump utilities[2]. Installation instructions for MySQL  Shell  can
	 be found here[3].

     mysqlpump features include:

     *	 Parallel  processing  of databases, and of objects within databases, to
	 speed up the dump process

     *	 Better control over  which  databases	and  database  objects	(tables,
	 stored programs, user accounts) to dump

     *	 Dumping of user accounts as account-management statements (CREATE USER,
	 GRANT) rather than as inserts into the mysql system database

     *	 Capability of creating compressed output

     *	 Progress indicator (the values are estimates)

     *	 For dump file reloading, faster secondary index creation for InnoDB ta-
	 bles by adding indexes after rows are inserted

	 Note

	 mysqlpump uses MySQL features introduced in MySQL 5.7, and thus assumes
	 use with MySQL 5.7 or higher.

     mysqlpump	requires  at  least the SELECT privilege for dumped tables, SHOW
     VIEW for dumped views, TRIGGER for dumped triggers, and LOCK TABLES if  the
     --single-transaction  option is not used. The SELECT privilege on the mysql
     system database is required to dump user definitions. Certain options might
     require other privileges as noted in the option descriptions.

     To reload a dump file, you must have the privileges required to execute the
     statements that it contains, such as the appropriate CREATE privileges  for
     objects created by those statements.

	 Note

	 A dump made using PowerShell on Windows with output redirection creates
	 a file that has UTF-16 encoding:

	     mysqlpump [options] > dump.sql

	 However,  UTF-16  is  not  permitted as a connection character set (see
	 Section 12.4, "Connection Character Sets and Collations"), so the  dump
	 file  cannot  be  loaded  correctly. To work around this issue, use the
	 --result-file option, which creates the output in ASCII format:

	     mysqlpump [options] --result-file=dump.sql
     mysqlpump Invocation Syntax

     By default, mysqlpump dumps all databases (with certain exceptions noted in
     mysqlpump Restrictions). To  specify  this  behavior  explicitly,	use  the
     --all-databases option:

	 mysqlpump --all-databases

     To dump a single database, or certain tables within that database, name the
     database on the command line, optionally followed by table names:

	 mysqlpump db_name
	 mysqlpump db_name tbl_name1 tbl_name2 ...

     To treat all name arguments as database names, use the --databases option:

	 mysqlpump --databases db_name1 db_name2 ...

     By  default,  mysqlpump does not dump user account definitions, even if you
     dump the mysql system database that contains  the	grant  tables.	To  dump
     grant  table contents as logical definitions in the form of CREATE USER and
     GRANT statements, use the --users option and suppress all database dumping:

	 mysqlpump --exclude-databases=% --users

     In the preceding command, % is a wildcard that matches all  database  names
     for the --exclude-databases option.

     mysqlpump	supports  several  options for including or excluding databases,
     tables, stored programs, and user definitions. See mysqlpump Object  Selec-
     tion.

     To  reload  a dump file, execute the statements that it contains. For exam-
     ple, use the mysql client:

	 mysqlpump [options] > dump.sql
	 mysql < dump.sql

     The following discussion provides additional mysqlpump usage examples.

     To see a  list  of  the  options  mysqlpump  supports,  issue  the  command
     mysqlpump --help.	mysqlpump Option Summary

     mysqlpump	supports  the  following  options, which can be specified on the
     command line or in the [mysqlpump] and [client] groups of an  option  file.
     (Prior  to  MySQL 8.0.20, mysqlpump read the [mysql_dump] group rather than
     [mysqlpump]. As of 8.0.20, [mysql_dump] is still  accepted  but  is  depre-
     cated.) For information about option files used by MySQL programs, see Sec-
     tion 6.2.2.2, "Using Option Files".  mysqlpump Option Descriptions

     *	 --help, -?
	 +---------------------+--------+
	 | Command-Line Format | --help |
	 +---------------------+--------+

	 Display a help message and exit.

     *	 --add-drop-database
	 +---------------------+---------------------+
	 | Command-Line Format | --add-drop-database |
	 +---------------------+---------------------+

	 Write a DROP DATABASE statement before each CREATE DATABASE statement.

	     Note
	     In  MySQL	8.0, the mysql schema is considered a system schema that
	     cannot be dropped by end users. If --add-drop-database is used with
	     --all-databases or with --databases where the list of schemas to be
	     dumped includes mysql, the  dump  file  contains  a  DROP	DATABASE
	     `mysql`  statement  that  causes an error when the dump file is re-
	     loaded.

	     Instead, to use --add-drop-database, use --databases with a list of
	     schemas to be dumped, where the list does not include mysql.

     *	 --add-drop-table
	 +---------------------+------------------+
	 | Command-Line Format | --add-drop-table |
	 +---------------------+------------------+

	 Write a DROP TABLE statement before each CREATE TABLE statement.

     *	 --add-drop-user
	 +---------------------+-----------------+
	 | Command-Line Format | --add-drop-user |
	 +---------------------+-----------------+

	 Write a DROP USER statement before each CREATE USER statement.

     *	 --add-locks
	 +---------------------+-------------+
	 | Command-Line Format | --add-locks |
	 +---------------------+-------------+

	 Surround each table dump with LOCK TABLES and UNLOCK TABLES statements.
	 This results in faster inserts when the dump file is reloaded. See Sec-
	 tion 10.2.5.1, "Optimizing INSERT Statements".

	 This option does not work with parallelism  because  INSERT  statements
	 from  different  tables  can be interleaved and UNLOCK TABLES following
	 the end of the inserts for one table could release locks on tables  for
	 which inserts remain.

	 --add-locks and --single-transaction are mutually exclusive.

     *	 --all-databases, -A
	 +---------------------+-----------------+
	 | Command-Line Format | --all-databases |
	 +---------------------+-----------------+

	 Dump all databases (with certain exceptions noted in mysqlpump Restric-
	 tions).  This	is the default behavior if no other is specified explic-
	 itly.

	 --all-databases and --databases are mutually exclusive.

	     Note
	     See the --add-drop-database description for  information  about  an
	     incompatibility of that option with --all-databases.
	 Prior	to  MySQL 8.0, the --routines and --events options for mysqldump
	 and mysqlpump were not required to include stored routines  and  events
	 when using the --all-databases option: The dump included the mysql sys-
	 tem  database, and therefore also the mysql.proc and mysql.event tables
	 containing stored routine and event definitions. As of MySQL  8.0,  the
	 mysql.event  and  mysql.proc  tables  are not used. Definitions for the
	 corresponding objects are stored in data dictionary tables,  but  those
	 tables  are not dumped. To include stored routines and events in a dump
	 made using --all-databases, use the --routines and --events options ex-
	 plicitly.

     *	 --bind-address=ip_address
	 +---------------------+---------------------------+
	 | Command-Line Format | --bind-address=ip_address |
	 +---------------------+---------------------------+

	 On a computer having multiple network interfaces, use	this  option  to
	 select which interface to use for connecting to the MySQL server.

     *	 --character-sets-dir=path
	 +---------------------+-------------------+
	 | Command-Line Format | --character-sets- |
	 |		       | dir=dir_name	   |
	 +---------------------+-------------------+
	 | Type 	       | Directory name    |
	 +---------------------+-------------------+

	 The  directory  where	character sets are installed. See Section 12.15,
	 "Character Set Configuration".

     *	 --column-statistics
	 +---------------------+---------------------+
	 | Command-Line Format | --column-statistics |
	 +---------------------+---------------------+
	 | Type 	       | Boolean	     |
	 +---------------------+---------------------+
	 | Default Value       | OFF		     |
	 +---------------------+---------------------+

	 Add ANALYZE TABLE statements to the output to generate  histogram  sta-
	 tistics  for  dumped tables when the dump file is reloaded. This option
	 is disabled by default because histogram generation  for  large  tables
	 can take a long time.

     *	 --complete-insert
	 +---------------------+-------------------+
	 | Command-Line Format | --complete-insert |
	 +---------------------+-------------------+

	 Write complete INSERT statements that include column names.

     *	 --compress, -C
	 +---------------------+-----------------------+
	 | Command-Line Format | --compress[={OFF|ON}] |
	 +---------------------+-----------------------+
	 | Deprecated	       | 8.0.18 	       |
	 +---------------------+-----------------------+
	 | Type 	       | Boolean	       |
	 +---------------------+-----------------------+
	 | Default Value       | OFF		       |
	 +---------------------+-----------------------+

	 Compress all information sent between the client and the server if pos-
	 sible. See Section 6.2.8, "Connection Compression Control".

	 As  of MySQL 8.0.18, this option is deprecated. Expect it to be removed
	 in a future version of  MySQL.  See  the  section  called  "Configuring
	 Legacy Connection Compression".

     *	 --compress-output=algorithm
	 +---------------------+-----------------------------+
	 | Command-Line Format | --compress-output=algorithm |
	 +---------------------+-----------------------------+
	 | Type 	       | Enumeration		     |
	 +---------------------+-----------------------------+
	 | Valid Values        |			     |
	 |		       |	  LZ4		     |
	 |		       |			     |
	 |		       |	  ZLIB		     |
	 +---------------------+-----------------------------+

	 By  default,  mysqlpump does not compress output. This option specifies
	 output compression using the specified algorithm. Permitted  algorithms
	 are LZ4 and ZLIB.

	 To  uncompress compressed output, you must have an appropriate utility.
	 If the system commands lz4 and openssl zlib are  not  available,  MySQL
	 distributions include lz4_decompress and zlib_decompress utilities that
	 can  be  used	to decompress mysqlpump output that was compressed using
	 the --compress-output=LZ4 and --compress-output=ZLIB options. For  more
	 information, see lz4_decompress(1), and zlib_decompress(1).

     *	 --compression-algorithms=value
	 +---------------------+-----------------------+
	 | Command-Line Format | --compression-algo-   |
	 |		       | rithms=value	       |
	 +---------------------+-----------------------+
	 | Introduced	       | 8.0.18 	       |
	 +---------------------+-----------------------+
	 | Type 	       | Set		       |
	 +---------------------+-----------------------+
	 | Default Value       | uncompressed	       |
	 +---------------------+-----------------------+
	 | Valid Values        |		       |
	 |		       |	  zlib	       |
	 |		       |		       |
	 |		       |	  zstd	       |
	 |		       |		       |
	 |		       |	  uncompressed |
	 +---------------------+-----------------------+

	 The permitted compression algorithms for connections to the server. The
	 available algorithms are the same as for the protocol_compression_algo-
	 rithms system variable. The default value is uncompressed.

	 For  more  information, see Section 6.2.8, "Connection Compression Con-
	 trol".

	 This option was added in MySQL 8.0.18.

     *	 --databases, -B
	 +---------------------+-------------+
	 | Command-Line Format | --databases |
	 +---------------------+-------------+

	 Normally, mysqlpump treats the first name argument on the command  line
	 as  a	database  name and any following names as table names. With this
	 option, it treats all name arguments as database names.   CREATE  DATA-
	 BASE statements are included in the output before each new database.

	 --all-databases and --databases are mutually exclusive.

	     Note
	     See  the  --add-drop-database  description for information about an
	     incompatibility of that option with --databases.

     *	 --debug[=debug_options], -# [debug_options]
	 +---------------------+----------------------------+
	 | Command-Line Format | --debug[=debug_options]    |
	 +---------------------+----------------------------+
	 | Type 	       | String 		    |
	 +---------------------+----------------------------+
	 | Default Value       | d:t:O,/tmp/mysqlpump.trace |
	 +---------------------+----------------------------+

	 Write	a   debugging	log.   A   typical   debug_options   string   is
	 d:t:o,file_name. The default is d:t:O,/tmp/mysqlpump.trace.

	 This  option  is  available  only  if MySQL was built using WITH_DEBUG.
	 MySQL release binaries provided by Oracle are not built using this  op-
	 tion.

     *	 --debug-check
	 +---------------------+---------------+
	 | Command-Line Format | --debug-check |
	 +---------------------+---------------+
	 | Type 	       | Boolean       |
	 +---------------------+---------------+
	 | Default Value       | FALSE	       |
	 +---------------------+---------------+

	 Print some debugging information when the program exits.

	 This  option  is  available  only  if MySQL was built using WITH_DEBUG.
	 MySQL release binaries provided by Oracle are not built using this  op-
	 tion.

     *	 --debug-info, -T
	 +---------------------+--------------+
	 | Command-Line Format | --debug-info |
	 +---------------------+--------------+
	 | Type 	       | Boolean      |
	 +---------------------+--------------+
	 | Default Value       | FALSE	      |
	 +---------------------+--------------+

	 Print	debugging  information	and memory and CPU usage statistics when
	 the program exits.

	 This option is available only if  MySQL  was  built  using  WITH_DEBUG.
	 MySQL	release binaries provided by Oracle are not built using this op-
	 tion.

     *	 --default-auth=plugin
	 +---------------------+-----------------------+
	 | Command-Line Format | --default-auth=plugin |
	 +---------------------+-----------------------+
	 | Type 	       | String 	       |
	 +---------------------+-----------------------+

	 A hint about which client-side authentication plugin to use.  See  Sec-
	 tion 8.2.17, "Pluggable Authentication".

     *	 --default-character-set=charset_name
	 +---------------------+----------------------+
	 | Command-Line Format | --default-character- |
	 |		       | set=charset_name     |
	 +---------------------+----------------------+
	 | Type 	       | String 	      |
	 +---------------------+----------------------+
	 | Default Value       | utf8		      |
	 +---------------------+----------------------+

	 Use  charset_name  as	the  default  character  set. See Section 12.15,
	 "Character Set  Configuration".  If  no  character  set  is  specified,
	 mysqlpump uses utf8mb4.

     *	 --default-parallelism=N
	 +---------------------+-------------------------+
	 | Command-Line Format | --default-parallelism=N |
	 +---------------------+-------------------------+
	 | Type 	       | Integer		 |
	 +---------------------+-------------------------+
	 | Default Value       | 2			 |
	 +---------------------+-------------------------+

	 The  default  number of threads for each parallel processing queue. The
	 default is 2.

	 The --parallel-schemas option also affects parallelism and can be  used
	 to  override  the  default number of threads. For more information, see
	 mysqlpump Parallel Processing.

	 With  --default-parallelism=0	and   no   --parallel-schemas	options,
	 mysqlpump runs as a single-threaded process and creates no queues.

	 With  parallelism  enabled,  it  is  possible for output from different
	 databases to be interleaved.

     *	 --defaults-extra-file=file_name
	 +---------------------+-------------------+
	 | Command-Line Format | --defaults-extra- |
	 |		       | file=file_name    |
	 +---------------------+-------------------+
	 | Type 	       | File name	   |
	 +---------------------+-------------------+

	 Read this option file after the global option file but (on Unix) before
	 the user option file. If the file does not exist or is otherwise  inac-
	 cessible,  an	error occurs. If file_name is not an absolute path name,
	 it is interpreted relative to the current directory.

	 For additional information about this and  other  option-file	options,
	 see Section 6.2.2.3, "Command-Line Options that Affect Option-File Han-
	 dling".

     *	 --defaults-file=file_name
	 +---------------------+---------------------------+
	 | Command-Line Format | --defaults-file=file_name |
	 +---------------------+---------------------------+
	 | Type 	       | File name		   |
	 +---------------------+---------------------------+

	 Use only the given option file. If the file does not exist or is other-
	 wise  inaccessible,  an  error  occurs. If file_name is not an absolute
	 path name, it is interpreted relative to the current directory.

	 Exception: Even  with	--defaults-file,  client  programs  read  .mylo-
	 gin.cnf.

	 For  additional  information  about this and other option-file options,
	 see Section 6.2.2.3, "Command-Line Options that Affect Option-File Han-
	 dling".

     *	 --defaults-group-suffix=str
	 +---------------------+-----------------------------+
	 | Command-Line Format | --defaults-group-suffix=str |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Read not only the usual option groups, but also groups with  the  usual
	 names	and  a	suffix of str. For example, mysqlpump normally reads the
	 [client] and [mysqlpump] groups. If  this  option  is	given  as  --de-
	 faults-group-suffix=_other, mysqlpump also reads the [client_other] and
	 [mysqlpump_other] groups.

	 For  additional  information  about this and other option-file options,
	 see Section 6.2.2.3, "Command-Line Options that Affect Option-File Han-
	 dling".

     *	 --defer-table-indexes
	 +---------------------+-----------------------+
	 | Command-Line Format | --defer-table-indexes |
	 +---------------------+-----------------------+
	 | Type 	       | Boolean	       |
	 +---------------------+-----------------------+
	 | Default Value       | TRUE		       |
	 +---------------------+-----------------------+

	 In the dump output, defer index creation for each table until after its
	 rows have been loaded. This works for all storage engines, but for Inn-
	 oDB applies only for secondary indexes.

	 This option is enabled by default;  use  --skip-defer-table-indexes  to
	 disable it.

     *	 --events
	 +---------------------+----------+
	 | Command-Line Format | --events |
	 +---------------------+----------+
	 | Type 	       | Boolean  |
	 +---------------------+----------+
	 | Default Value       | TRUE	  |
	 +---------------------+----------+

	 Include  Event Scheduler events for the dumped databases in the output.
	 Event dumping requires the EVENT privileges for those databases.

	 The output generated by using --events contains CREATE EVENT statements
	 to create the events.

	 This option is enabled by default; use --skip-events to disable it.

     *	 --exclude-databases=db_list
	 +---------------------+-----------------------------+
	 | Command-Line Format | --exclude-databases=db_list |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Do not dump the databases in db_list, which is a list of  one	or  more
	 comma-separated  database  names. Multiple instances of this option are
	 additive. For more information, see mysqlpump Object Selection.

     *	 --exclude-events=event_list
	 +---------------------+-----------------------------+
	 | Command-Line Format | --exclude-events=event_list |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Do not dump the databases in event_list, which is a list of one or more
	 comma-separated event names. Multiple instances of this option are  ad-
	 ditive. For more information, see mysqlpump Object Selection.

     *	 --exclude-routines=routine_list
	 +---------------------+-------------------------+
	 | Command-Line Format | --exclude-routines=rou- |
	 |		       | tine_list		 |
	 +---------------------+-------------------------+
	 | Type 	       | String 		 |
	 +---------------------+-------------------------+

	 Do  not dump the events in routine_list, which is a list of one or more
	 comma-separated routine (stored procedure or function) names.	Multiple
	 instances  of	this  option  are  additive.  For  more information, see
	 mysqlpump Object Selection.

     *	 --exclude-tables=table_list
	 +---------------------+-----------------------------+
	 | Command-Line Format | --exclude-tables=table_list |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Do not dump the tables in table_list, which is a list of  one	or  more
	 comma-separated  table names. Multiple instances of this option are ad-
	 ditive. For more information, see mysqlpump Object Selection.

     *	 --exclude-triggers=trigger_list
	 +---------------------+--------------------------+
	 | Command-Line Format | --exclude-triggers=trig- |
	 |		       | ger_list		  |
	 +---------------------+--------------------------+
	 | Type 	       | String 		  |
	 +---------------------+--------------------------+

	 Do not dump the triggers in trigger_list, which is a  list  of  one  or
	 more  comma-separated	trigger names. Multiple instances of this option
	 are additive. For more information, see mysqlpump Object Selection.

     *	 --exclude-users=user_list
	 +---------------------+---------------------------+
	 | Command-Line Format | --exclude-users=user_list |
	 +---------------------+---------------------------+
	 | Type 	       | String 		   |
	 +---------------------+---------------------------+

	 Do not dump the user accounts in user_list, which is a list of  one  or
	 more  comma-separated	account names. Multiple instances of this option
	 are additive. For more information, see mysqlpump Object Selection.

     *	 --extended-insert=N
	 +---------------------+---------------------+
	 | Command-Line Format | --extended-insert=N |
	 +---------------------+---------------------+

	 Write INSERT statements using multiple-row syntax that includes several
	 VALUES lists. This results in a smaller dump file and speeds up inserts
	 when the file is reloaded.

	 The option value indicates the number of rows to include in each INSERT
	 statement. The default is 250. A value of 1 produces one INSERT  state-
	 ment per table row.

     *	 --get-server-public-key
	 +---------------------+-------------------------+
	 | Command-Line Format | --get-server-public-key |
	 +---------------------+-------------------------+
	 | Type 	       | Boolean		 |
	 +---------------------+-------------------------+

	 Request  from the server the public key required for RSA key pair-based
	 password exchange. This option applies  to  clients  that  authenticate
	 with  the caching_sha2_password authentication plugin. For that plugin,
	 the server does not send the public key unless requested.  This  option
	 is  ignored  for accounts that do not authenticate with that plugin. It
	 is also ignored if RSA-based password exchange is not used, as  is  the
	 case when the client connects to the server using a secure connection.

	 If  --server-public-key-path=file_name  is  given and specifies a valid
	 public key file, it takes precedence over --get-server-public-key.

	 For  information  about  the  caching_sha2_password  plugin,  see  Sec-
	 tion 8.4.1.2, "Caching SHA-2 Pluggable Authentication".

     *	 --hex-blob
	 +---------------------+------------+
	 | Command-Line Format | --hex-blob |
	 +---------------------+------------+

	 Dump  binary columns using hexadecimal notation (for example, 'abc' be-
	 comes 0x616263). The affected data types are  BINARY,	VARBINARY,  BLOB
	 types,  BIT,  all  spatial  data types, and other non-binary data types
	 when used with the binary character set.

     *	 --host=host_name, -h host_name
	 +---------------------+--------+
	 | Command-Line Format | --host |
	 +---------------------+--------+

	 Dump data from the MySQL server on the given host.

     *	 --include-databases=db_list
	 +---------------------+-----------------------------+
	 | Command-Line Format | --include-databases=db_list |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Dump the databases  in  db_list,  which  is  a  list  of  one	or  more
	 comma-separated  database  names.  The dump includes all objects in the
	 named databases. Multiple instances of this option  are  additive.  For
	 more information, see mysqlpump Object Selection.

     *	 --include-events=event_list
	 +---------------------+-----------------------------+
	 | Command-Line Format | --include-events=event_list |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Dump  the  events  in	event_list,  which  is	a  list  of  one or more
	 comma-separated event names. Multiple instances of this option are  ad-
	 ditive. For more information, see mysqlpump Object Selection.

     *	 --include-routines=routine_list
	 +---------------------+-------------------------+
	 | Command-Line Format | --include-routines=rou- |
	 |		       | tine_list		 |
	 +---------------------+-------------------------+
	 | Type 	       | String 		 |
	 +---------------------+-------------------------+

	 Dump  the  routines  in  routine_list,  which	is a list of one or more
	 comma-separated routine (stored procedure or function) names.	Multiple
	 instances  of	this  option  are  additive.  For  more information, see
	 mysqlpump Object Selection.

     *	 --include-tables=table_list
	 +---------------------+-----------------------------+
	 | Command-Line Format | --include-tables=table_list |
	 +---------------------+-----------------------------+
	 | Type 	       | String 		     |
	 +---------------------+-----------------------------+

	 Dump the tables  in  table_list,  which  is  a  list  of  one	or  more
	 comma-separated  table names. Multiple instances of this option are ad-
	 ditive. For more information, see mysqlpump Object Selection.

     *	 --include-triggers=trigger_list
	 +---------------------+--------------------------+
	 | Command-Line Format | --include-triggers=trig- |
	 |		       | ger_list		  |
	 +---------------------+--------------------------+
	 | Type 	       | String 		  |
	 +---------------------+--------------------------+

	 Dump the triggers in trigger_list, which is  a  list  of  one	or  more
	 comma-separated  trigger  names.  Multiple instances of this option are
	 additive. For more information, see mysqlpump Object Selection.

     *	 --include-users=user_list
	 +---------------------+---------------------------+
	 | Command-Line Format | --include-users=user_list |
	 +---------------------+---------------------------+
	 | Type 	       | String 		   |
	 +---------------------+---------------------------+

	 Dump the user accounts in user_list, which is a list  of  one	or  more
	 comma-separated user names. Multiple instances of this option are addi-
	 tive. For more information, see mysqlpump Object Selection.

     *	 --insert-ignore
	 +---------------------+-----------------+
	 | Command-Line Format | --insert-ignore |
	 +---------------------+-----------------+

	 Write INSERT IGNORE statements rather than INSERT statements.

     *	 --log-error-file=file_name
	 +---------------------+----------------------------+
	 | Command-Line Format | --log-error-file=file_name |
	 +---------------------+----------------------------+
	 | Type 	       | File name		    |
	 +---------------------+----------------------------+

	 Log  warnings	and  errors by appending them to the named file. If this
	 option is not given, mysqlpump writes warnings and errors to the  stan-
	 dard error output.

     *	 --login-path=name
	 +---------------------+-------------------+
	 | Command-Line Format | --login-path=name |
	 +---------------------+-------------------+
	 | Type 	       | String 	   |
	 +---------------------+-------------------+

	 Read  options	from the named login path in the .mylogin.cnf login path
	 file. A "login path" is an option group containing options that specify
	 which MySQL server to connect to and which account to authenticate  as.
	 To  create  or  modify  a  login path file, use the mysql_config_editor
	 utility. See mysql_config_editor(1).

	 For additional information about this and  other  option-file	options,
	 see Section 6.2.2.3, "Command-Line Options that Affect Option-File Han-
	 dling".

     *	 --max-allowed-packet=N
	 +---------------------+------------------------+
	 | Command-Line Format | --max-allowed-packet=N |
	 +---------------------+------------------------+
	 | Type 	       | Numeric		|
	 +---------------------+------------------------+
	 | Default Value       | 25165824		|
	 +---------------------+------------------------+

	 The maximum size of the buffer for client/server communication. The de-
	 fault is 24MB, the maximum is 1GB.

     *	 --net-buffer-length=N
	 +---------------------+-----------------------+
	 | Command-Line Format | --net-buffer-length=N |
	 +---------------------+-----------------------+
	 | Type 	       | Numeric	       |
	 +---------------------+-----------------------+
	 | Default Value       | 1047552	       |
	 +---------------------+-----------------------+

	 The  initial  size  of the buffer for client/server communication. When
	 creating multiple-row INSERT statements (as with the  --extended-insert
	 option), mysqlpump creates rows up to N bytes long. If you use this op-
	 tion	to   increase	the   value,   ensure	that  the  MySQL  server
	 net_buffer_length system variable has a value at least this large.

     *	 --no-create-db
	 +---------------------+----------------+
	 | Command-Line Format | --no-create-db |
	 +---------------------+----------------+

	 Suppress any CREATE DATABASE statements that  might  otherwise  be  in-
	 cluded in the output.

     *	 --no-create-info, -t
	 +---------------------+------------------+
	 | Command-Line Format | --no-create-info |
	 +---------------------+------------------+

	 Do not write CREATE TABLE statements that create each dumped table.

     *	 --no-defaults
	 +---------------------+---------------+
	 | Command-Line Format | --no-defaults |
	 +---------------------+---------------+

	 Do  not  read any option files. If program startup fails due to reading
	 unknown options from an option file, --no-defaults can be used to  pre-
	 vent them from being read.

	 The exception is that the .mylogin.cnf file is read in all cases, if it
	 exists.  This	permits passwords to be specified in a safer way than on
	 the command line even when --no-defaults  is  used.  To  create  .mylo-
	 gin.cnf,  use	the  mysql_config_editor  utility. See mysql_config_edi-
	 tor(1).

	 For additional information about this and  other  option-file	options,
	 see Section 6.2.2.3, "Command-Line Options that Affect Option-File Han-
	 dling".

     *	 --parallel-schemas=[N:]db_list
	 +---------------------+-------------------------+
	 | Command-Line Format | --parallel-		 |
	 |		       | schemas=[N:]schema_list |
	 +---------------------+-------------------------+
	 | Type 	       | String 		 |
	 +---------------------+-------------------------+

	 Create a queue for processing the databases in db_list, which is a list
	 of one or more comma-separated database names. If N is given, the queue
	 uses N threads. If N is not given, the --default-parallelism option de-
	 termines the number of queue threads.

	 Multiple  instances  of  this option create multiple queues.  mysqlpump
	 also creates a default queue to use for  databases  not  named  in  any
	 --parallel-schemas  option, and for dumping user definitions if command
	 options select them. For more information, see mysqlpump Parallel  Pro-
	 cessing.

     *	 --password[=password], -p[password]
	 +---------------------+-----------------------+
	 | Command-Line Format | --password[=password] |
	 +---------------------+-----------------------+
	 | Type 	       | String 	       |
	 +---------------------+-----------------------+

	 The  password	of  the MySQL account used for connecting to the server.
	 The password value is optional. If not  given,  mysqlpump  prompts  for
	 one. If given, there must be no space between --password= or -p and the
	 password  following it. If no password option is specified, the default
	 is to send no password.

	 Specifying a password on the command line should  be  considered  inse-
	 cure.	To  avoid giving the password on the command line, use an option
	 file. See Section 8.1.2.1, "End-User Guidelines for Password Security".

	 To explicitly specify that there is  no  password  and  that  mysqlpump
	 should not prompt for one, use the --skip-password option.

     *	 --password1[=pass_val] The password for multifactor authentication fac-
	 tor 1 of the MySQL account used for connecting to the server. The pass-
	 word  value  is  optional.  If not given, mysqlpump prompts for one. If
	 given, there must be no space between	--password1=  and  the	password
	 following  it.  If  no  password option is specified, the default is to
	 send no password.

	 Specifying a password on the command line should  be  considered  inse-
	 cure.	To  avoid giving the password on the command line, use an option
	 file. See Section 8.1.2.1, "End-User Guidelines for Password Security".

	 To explicitly specify that there is  no  password  and  that  mysqlpump
	 should not prompt for one, use the --skip-password1 option.

	 --password1  and --password are synonymous, as are --skip-password1 and
	 --skip-password.

     *	 --password2[=pass_val] The password for multifactor authentication fac-
	 tor 2 of the MySQL account used for connecting to the server.	The  se-
	 mantics  of  this  option are similar to the semantics for --password1;
	 see the description of that option for details.

     *	 --password3[=pass_val] The password for multifactor authentication fac-
	 tor 3 of the MySQL account used for connecting to the server.	The  se-
	 mantics  of  this  option are similar to the semantics for --password1;
	 see the description of that option for details.

     *	 --plugin-dir=dir_name
	 +---------------------+-----------------------+
	 | Command-Line Format | --plugin-dir=dir_name |
	 +---------------------+-----------------------+
	 | Type 	       | Directory name        |
	 +---------------------+-----------------------+

	 The directory in which to look for plugins. Specify this option if  the
	 --default-auth  option  is used to specify an authentication plugin but
	 mysqlpump does not find it. See Section 8.2.17, "Pluggable  Authentica-
	 tion".

     *	 --port=port_num, -P port_num
	 +---------------------+-----------------+
	 | Command-Line Format | --port=port_num |
	 +---------------------+-----------------+
	 | Type 	       | Numeric	 |
	 +---------------------+-----------------+
	 | Default Value       | 3306		 |
	 +---------------------+-----------------+

	 For TCP/IP connections, the port number to use.

     *	 --print-defaults
	 +---------------------+------------------+
	 | Command-Line Format | --print-defaults |
	 +---------------------+------------------+

	 Print the program name and all options that it gets from option files.

	 For  additional  information  about this and other option-file options,
	 see Section 6.2.2.3, "Command-Line Options that Affect Option-File Han-
	 dling".

     *	 --protocol={TCP|SOCKET|PIPE|MEMORY}
	 +---------------------+-----------------+
	 | Command-Line Format | --protocol=type |
	 +---------------------+-----------------+
	 | Type 	       | String 	 |
	 +---------------------+-----------------+
	 | Default Value       | [see text]	 |
	 +---------------------+-----------------+
	 | Valid Values        |		 |
	 |		       |	  TCP	 |
	 |		       |		 |
	 |		       |	  SOCKET |
	 |		       |		 |
	 |		       |	  PIPE	 |
	 |		       |		 |
	 |		       |	  MEMORY |
	 +---------------------+-----------------+

	 The transport protocol to use for connecting to the server. It is  use-
	 ful  when  the  other connection parameters normally result in use of a
	 protocol other than the one you want. For details  on	the  permissible
	 values, see Section 6.2.7, "Connection Transport Protocols".

     *	 --replace
	 +---------------------+-----------+
	 | Command-Line Format | --replace |
	 +---------------------+-----------+

	 Write REPLACE statements rather than INSERT statements.

     *	 --result-file=file_name
	 +---------------------+-------------------------+
	 | Command-Line Format | --result-file=file_name |
	 +---------------------+-------------------------+
	 | Type 	       | File name		 |
	 +---------------------+-------------------------+

	 Direct  output  to  the  named file. The result file is created and its
	 previous contents overwritten, even if an error occurs while generating
	 the dump.

	 This option should be used on Windows to prevent newline \n  characters
	 from being converted to \r\n carriage return/newline sequences.

     *	 --routines
	 +---------------------+------------+
	 | Command-Line Format | --routines |
	 +---------------------+------------+
	 | Type 	       | Boolean    |
	 +---------------------+------------+
	 | Default Value       | TRUE	    |
	 +---------------------+------------+

	 Include stored routines (procedures and functions) for the dumped data-
	 bases in the output. This option requires the global SELECT privilege.

	 The  output generated by using --routines contains CREATE PROCEDURE and
	 CREATE FUNCTION statements to create the routines.

	 This option is enabled by default; use --skip-routines to disable it.

     *	 --server-public-key-path=file_name
	 +---------------------+----------------------+
	 | Command-Line Format | --server-public-key- |
	 |		       | path=file_name       |
	 +---------------------+----------------------+
	 | Type 	       | File name	      |
	 +---------------------+----------------------+

	 The path name to a file in PEM format containing a client-side copy  of
	 the  public  key required by the server for RSA key pair-based password
	 exchange. This option applies to clients  that  authenticate  with  the
	 sha256_password  or  caching_sha2_password  authentication plugin. This
	 option is ignored for accounts that do not  authenticate  with  one  of
	 those plugins. It is also ignored if RSA-based password exchange is not
	 used, as is the case when the client connects to the server using a se-
	 cure connection.

	 If  --server-public-key-path=file_name  is  given and specifies a valid
	 public key file, it takes precedence over --get-server-public-key.

	 For sha256_password, this option applies only if MySQL was built  using
	 OpenSSL.

	 For  information  about  the  sha256_password and caching_sha2_password
	 plugins, see Section 8.4.1.3, "SHA-256 Pluggable  Authentication",  and
	 Section 8.4.1.2, "Caching SHA-2 Pluggable Authentication".

     *	 --set-charset
	 +---------------------+---------------+
	 | Command-Line Format | --set-charset |
	 +---------------------+---------------+

	 Write SET NAMES default_character_set to the output.

	 This  option  is enabled by default. To disable it and suppress the SET
	 NAMES statement, use --skip-set-charset.

     *	 --set-gtid-purged=value
	 +---------------------+-------------------------+
	 | Command-Line Format | --set-gtid-purged=value |
	 +---------------------+-------------------------+
	 | Type 	       | Enumeration		 |
	 +---------------------+-------------------------+
	 | Default Value       | AUTO			 |
	 +---------------------+-------------------------+
	 | Valid Values        |			 |
	 |		       |	  OFF		 |
	 |		       |			 |
	 |		       |	  ON		 |
	 |		       |			 |
	 |		       |	  AUTO		 |
	 +---------------------+-------------------------+

	 This option enables control over global transaction ID (GTID)	informa-
	 tion  written	to  the  dump  file,  by indicating whether to add a SET
	 @@GLOBAL.gtid_purged statement to the	output.  This  option  may  also
	 cause a statement to be written to the output that disables binary log-
	 ging while the dump file is being reloaded.

	 The  following  table	shows  the  permitted option values. The default
	 value is AUTO.
	 +-------+-----------------------------+
	 | Value | Meaning		       |
	 +-------+-----------------------------+
	 | OFF	 | Add no SET statement to the |
	 |	 | output.		       |
	 +-------+-----------------------------+
	 | ON	 | Add a SET statement to  the |
	 |	 | output. An error occurs if  |
	 |	 |		     GTIDs are |
	 |	 | not enabled on the server.  |
	 +-------+-----------------------------+
	 | AUTO  | Add	a SET statement to the |
	 |	 | output if GTIDs are	       |
	 |	 |		     enabled   |
	 |	 | on the server.	       |
	 +-------+-----------------------------+

	 The --set-gtid-purged option has the following effect on binary logging
	 when the dump file is reloaded:

	 *   --set-gtid-purged=OFF: SET @@SESSION.SQL_LOG_BIN=0; is not added to
	     the output.

	 *   --set-gtid-purged=ON: SET @@SESSION.SQL_LOG_BIN=0; is added to  the
	     output.

	 *   --set-gtid-purged=AUTO:  SET  @@SESSION.SQL_LOG_BIN=0;  is added to
	     the output if GTIDs are enabled on the server you	are  backing  up
	     (that is, if AUTO evaluates to ON).

     *	 --single-transaction
	 +---------------------+----------------------+
	 | Command-Line Format | --single-transaction |
	 +---------------------+----------------------+

	 This  option sets the transaction isolation mode to REPEATABLE READ and
	 sends a START TRANSACTION SQL statement to the  server  before  dumping
	 data.	It  is useful only with transactional tables such as InnoDB, be-
	 cause then it dumps the consistent state of the database  at  the  time
	 when START TRANSACTION was issued without blocking any applications.

	 When using this option, you should keep in mind that only InnoDB tables
	 are dumped in a consistent state. For example, any MyISAM or MEMORY ta-
	 bles dumped while using this option may still change state.

	 While a --single-transaction dump is in process, to ensure a valid dump
	 file (correct table contents and binary log coordinates), no other con-
	 nection should use the following statements: ALTER TABLE, CREATE TABLE,
	 DROP TABLE, RENAME TABLE, TRUNCATE TABLE. A consistent read is not iso-
	 lated from those statements, so use of them on a table to be dumped can
	 cause	the  SELECT that is performed by mysqlpump to retrieve the table
	 contents to obtain incorrect contents or fail.

	 --add-locks and --single-transaction are mutually exclusive.

     *	 --skip-definer
	 +---------------------+----------------+
	 | Command-Line Format | --skip-definer |
	 +---------------------+----------------+
	 | Type 	       | Boolean	|
	 +---------------------+----------------+
	 | Default Value       | FALSE		|
	 +---------------------+----------------+

	 Omit DEFINER and SQL SECURITY clauses from the  CREATE  statements  for
	 views	and  stored  programs. The dump file, when reloaded, creates ob-
	 jects that use the default DEFINER and SQL SECURITY  values.  See  Sec-
	 tion 27.6, "Stored Object Access Control".

     *	 --skip-dump-rows, -d
	 +---------------------+------------------+
	 | Command-Line Format | --skip-dump-rows |
	 +---------------------+------------------+
	 | Type 	       | Boolean	  |
	 +---------------------+------------------+
	 | Default Value       | FALSE		  |
	 +---------------------+------------------+

	 Do not dump table rows.

     *	 --skip-generated-invisible-primary-key
	 +---------------------+-----------------------------+
	 | Command-Line Format | --skip-generated-invisible- |
	 |		       | primary-key		     |
	 +---------------------+-----------------------------+
	 | Introduced	       | 8.0.30 		     |
	 +---------------------+-----------------------------+
	 | Type 	       | Boolean		     |
	 +---------------------+-----------------------------+
	 | Default Value       | FALSE			     |
	 +---------------------+-----------------------------+

	 This option is available beginning with MySQL 8.0.30, and causes gener-
	 ated  invisible  primary keys (GIPKs) to be excluded from the dump. See
	 Section 15.1.20.11, "Generated Invisible Primary Keys", for more infor-
	 mation about GIPKs and GIPK mode.

     *	 --socket=path, -S path
	 +---------------------+--------------------------------+
	 | Command-Line Format | --socket={file_name|pipe_name} |
	 +---------------------+--------------------------------+
	 | Type 	       | String 			|
	 +---------------------+--------------------------------+

	 For connections to localhost, the Unix socket file to use, or, on  Win-
	 dows, the name of the named pipe to use.

	 On Windows, this option applies only if the server was started with the
	 named_pipe  system  variable enabled to support named-pipe connections.
	 In addition, the user making the connection must be  a  member  of  the
	 Windows  group  specified  by	the  named_pipe_full_access_group system
	 variable.

     *	 --ssl* Options that begin with --ssl specify whether to connect to  the
	 server  using	encryption  and indicate where to find SSL keys and cer-
	 tificates. See the section called "Command Options for  Encrypted  Con-
	 nections".

     *	 --ssl-fips-mode={OFF|ON|STRICT}
	 +---------------------+----------------------+
	 | Command-Line Format | --ssl-fips-	      |
	 |		       | mode={OFF|ON|STRICT} |
	 +---------------------+----------------------+
	 | Deprecated	       | 8.0.34 	      |
	 +---------------------+----------------------+
	 | Type 	       | Enumeration	      |
	 +---------------------+----------------------+
	 | Default Value       | OFF		      |
	 +---------------------+----------------------+
	 | Valid Values        |		      |
	 |		       |	  OFF	      |
	 |		       |		      |
	 |		       |	  ON	      |
	 |		       |		      |
	 |		       |	  STRICT      |
	 +---------------------+----------------------+

	 Controls   whether  to  enable  FIPS  mode  on  the  client  side.  The
	 --ssl-fips-mode option differs from other --ssl-xxx options in that  it
	 is  not  used	to establish encrypted connections, but rather to affect
	 which cryptographic operations to permit. See Section 8.8,  "FIPS  Sup-
	 port".

	 These --ssl-fips-mode values are permitted:

	 *   OFF: Disable FIPS mode.

	 *   ON: Enable FIPS mode.

	 *   STRICT: Enable "strict" FIPS mode.

	     Note
	     If  the  OpenSSL FIPS Object Module is not available, the only per-
	     mitted value for --ssl-fips-mode is  OFF.	In  this  case,  setting
	     --ssl-fips-mode  to  ON  or  STRICT  causes the client to produce a
	     warning at startup and to operate in non-FIPS mode.
	 As of MySQL 8.0.34, this option is deprecated. Expect it to be  removed
	 in a future version of MySQL.

     *	 --tls-ciphersuites=ciphersuite_list
	 +---------------------+----------------------------+
	 | Command-Line Format | --tls-ciphersuites=cipher- |
	 |		       | suite_list		    |
	 +---------------------+----------------------------+
	 | Introduced	       | 8.0.16 		    |
	 +---------------------+----------------------------+
	 | Type 	       | String 		    |
	 +---------------------+----------------------------+

	 The   permissible  ciphersuites  for  encrypted  connections  that  use
	 TLSv1.3. The value is a list of one or more colon-separated ciphersuite
	 names. The ciphersuites that can be named for this option depend on the
	 SSL library used to compile MySQL. For details, see Section 8.3.2, "En-
	 crypted Connection TLS Protocols and Ciphers".

	 This option was added in MySQL 8.0.16.

     *	 --tls-version=protocol_list
	 +---------------------------+------------------------------------------------------------------+
	 | Command-Line Format	     | --tls-version=protocol_list					|
	 +---------------------------+------------------------------------------------------------------+
	 | Type 		     | String								|
	 +---------------------------+------------------------------------------------------------------+
	 | Default Value (^a=Y 8.0.16) |									|
	 |			     |		TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 (OpenSSL 1.1.1 or higher) |
	 |			     |									|
	 |			     |		TLSv1,TLSv1.1,TLSv1.2 (otherwise)			|
	 +---------------------------+------------------------------------------------------------------+
	 | Default Value (^aox 8.0.15) | TLSv1,TLSv1.1,TLSv1.2						|
	 +---------------------------+------------------------------------------------------------------+

	 The permissible TLS protocols for encrypted connections. The value is a
	 list of one or more comma-separated protocol names. The protocols  that
	 can  be named for this option depend on the SSL library used to compile
	 MySQL. For details, see Section 8.3.2, "Encrypted Connection TLS Proto-
	 cols and Ciphers".

     *	 --triggers
	 +---------------------+------------+
	 | Command-Line Format | --triggers |
	 +---------------------+------------+
	 | Type 	       | Boolean    |
	 +---------------------+------------+
	 | Default Value       | TRUE	    |
	 +---------------------+------------+

	 Include triggers for each dumped table in the output.

	 This option is enabled by default; use --skip-triggers to disable it.

     *	 --tz-utc
	 +---------------------+----------+
	 | Command-Line Format | --tz-utc |
	 +---------------------+----------+

	 This option enables TIMESTAMP columns to be dumped and reloaded between
	 servers in different time zones.  mysqlpump sets  its	connection  time
	 zone  to  UTC and adds SET TIME_ZONE='+00:00' to the dump file. Without
	 this option, TIMESTAMP columns are dumped  and  reloaded  in  the  time
	 zones	local to the source and destination servers, which can cause the
	 values to change if the servers are in different time zones.	--tz-utc
	 also protects against changes due to daylight saving time.

	 This option is enabled by default; use --skip-tz-utc to disable it.

     *	 --user=user_name, -u user_name
	 +---------------------+------------------+
	 | Command-Line Format | --user=user_name |
	 +---------------------+------------------+
	 | Type 	       | String 	  |
	 +---------------------+------------------+

	 The user name of the MySQL account to use for connecting to the server.

	 If  you  are  using the Rewriter plugin with MySQL 8.0.31 or later, you
	 should grant this user the SKIP_QUERY_REWRITE privilege.

     *	 --users
	 +---------------------+---------+
	 | Command-Line Format | --users |
	 +---------------------+---------+
	 | Type 	       | Boolean |
	 +---------------------+---------+
	 | Default Value       | FALSE	 |
	 +---------------------+---------+

	 Dump user accounts as logical definitions in the form	of  CREATE  USER
	 and GRANT statements.

	 User  definitions  are  stored  in the grant tables in the mysql system
	 database. By default, mysqlpump does not include the  grant  tables  in
	 mysql database dumps. To dump the contents of the grant tables as logi-
	 cal definitions, use the --users option and suppress all database dump-
	 ing:

	     mysqlpump --exclude-databases=% --users

     *	 --version, -V
	 +---------------------+-----------+
	 | Command-Line Format | --version |
	 +---------------------+-----------+

	 Display version information and exit.

     *	 --watch-progress
	 +---------------------+------------------+
	 | Command-Line Format | --watch-progress |
	 +---------------------+------------------+
	 | Type 	       | Boolean	  |
	 +---------------------+------------------+
	 | Default Value       | TRUE		  |
	 +---------------------+------------------+

	 Periodically  display	a  progress  indicator that provides information
	 about the completed and total number of tables,  rows,  and  other  ob-
	 jects.

	 This option is enabled by default; use --skip-watch-progress to disable
	 it.

     *	 --zstd-compression-level=level
	 +---------------------+----------------------------+
	 | Command-Line Format | --zstd-compression-level=# |
	 +---------------------+----------------------------+
	 | Introduced	       | 8.0.18 		    |
	 +---------------------+----------------------------+
	 | Type 	       | Integer		    |
	 +---------------------+----------------------------+

	 The compression level to use for connections to the server that use the
	 zstd compression algorithm. The permitted levels are from 1 to 22, with
	 larger  values indicating increasing levels of compression. The default
	 zstd compression level is 3. The compression level setting has  no  ef-
	 fect on connections that do not use zstd compression.

	 For  more  information, see Section 6.2.8, "Connection Compression Con-
	 trol".

	 This option was added in MySQL 8.0.18.
     mysqlpump Object Selection

     mysqlpump has a set of inclusion and exclusion options that enable  filter-
     ing of several object types and provide flexible control over which objects
     to dump:

     *	 --include-databases  and --exclude-databases apply to databases and all
	 objects within them.

     *	 --include-tables and --exclude-tables apply to  tables.  These  options
	 also affect triggers associated with tables unless the trigger-specific
	 options are given.

     *	 --include-triggers and --exclude-triggers apply to triggers.

     *	 --include-routines  and  --exclude-routines  apply to stored procedures
	 and functions. If a routine option matches a stored procedure name,  it
	 also matches a stored function of the same name.

     *	 --include-events and --exclude-events apply to Event Scheduler events.

     *	 --include-users and --exclude-users apply to user accounts.

     Any  inclusion  or exclusion option may be given multiple times. The effect
     is additive. Order of these options does not matter.

     The value of each inclusion and exclusion option is a list  of  comma-sepa-
     rated names of the appropriate object type. For example:

	 --exclude-databases=test,world
	 --include-tables=customer,invoice

     Wildcard characters are permitted in the object names:

     *	 % matches any sequence of zero or more characters.

     *	 _ matches any single character.

     For  example,  --include-tables=t%,__tmp matches all table names that begin
     with t and all five-character table names that end with tmp.

     For users, a name specified without a host part is interpreted with an  im-
     plied  host of %. For example, u1 and u1@% are equivalent. This is the same
     equivalence that applies in MySQL generally (see Section 8.2.4, "Specifying
     Account Names").

     Inclusion and exclusion options interact as follows:

     *	 By default, with no inclusion or exclusion options, mysqlpump dumps all
	 databases (with certain exceptions noted in mysqlpump Restrictions).

     *	 If inclusion options are given in the	absence  of  exclusion	options,
	 only the objects named as included are dumped.

     *	 If exclusion options are given in the absence of inclusion options, all
	 objects are dumped except those named as excluded.

     *	 If  inclusion and exclusion options are given, all objects named as ex-
	 cluded and not named as included are not dumped. All other objects  are
	 dumped.

     If  multiple  databases  are  being  dumped, it is possible to name tables,
     triggers, and routines in a specific  database  by  qualifying  the  object
     names with the database name. The following command dumps databases db1 and
     db2, but excludes tables db1.t1 and db2.t2:

	 mysqlpump --include-databases=db1,db2 --exclude-tables=db1.t1,db2.t2

     The  following  options provide alternative ways to specify which databases
     to dump:

     *	 The --all-databases option dumps all databases (with certain exceptions
	 noted in mysqlpump Restrictions). It is equivalent to specifying no ob-
	 ject options at all (the default mysqlpump action  is	to  dump  every-
	 thing).

	 --include-databases=%	is  similar  to --all-databases, but selects all
	 databases for dumping, even those that are exceptions	for  --all-data-
	 bases.

     *	 The  --databases option causes mysqlpump to treat all name arguments as
	 names of databases to dump. It is equivalent to an  --include-databases
	 option that names the same databases.
     mysqlpump Parallel Processing

     mysqlpump can use parallelism to achieve concurrent processing. You can se-
     lect  concurrency	between databases (to dump multiple databases simultane-
     ously) and within databases (to dump multiple objects from a given database
     simultaneously).

     By default, mysqlpump sets up one queue with two threads.	You  can  create
     additional  queues  and control the number of threads assigned to each one,
     including the default queue:

     *	 --default-parallelism=N specifies the default number  of  threads  used
	 for each queue. In the absence of this option, N is 2.

	 The default queue always uses the default number of threads. Additional
	 queues use the default number of threads unless you specify otherwise.

     *	 --parallel-schemas=[N:]db_list  sets  up a processing queue for dumping
	 the databases named  in  db_list  and	optionally  specifies  how  many
	 threads  the queue uses.  db_list is a list of comma-separated database
	 names. If the option argument begins with N:, the queue uses N threads.
	 Otherwise, the --default-parallelism option determines  the  number  of
	 queue threads.

	 Multiple  instances  of  the  --parallel-schemas option create multiple
	 queues.

	 Names in the database list are permitted to contain the same  %  and  _
	 wildcard  characters supported for filtering options (see mysqlpump Ob-
	 ject Selection).

     mysqlpump uses the default queue for processing any databases not named ex-
     plicitly with a --parallel-schemas option, and for dumping user definitions
     if command options select them.

     In general, with multiple queues, mysqlpump uses  parallelism  between  the
     sets  of  databases processed by the queues, to dump multiple databases si-
     multaneously. For a queue that uses multiple threads, mysqlpump uses paral-
     lelism within databases, to dump multiple objects from a given database si-
     multaneously. Exceptions can occur; for example, mysqlpump may block queues
     while it obtains from the server lists of objects in databases.

     With parallelism enabled, it is possible for output  from	different  data-
     bases  to	be interleaved. For example, INSERT statements from multiple ta-
     bles dumped in parallel can be interleaved; the statements are not  written
     in  any  particular  order.  This	does not affect reloading because output
     statements qualify object names with database names or are preceded by  USE
     statements as required.

     The granularity for parallelism is a single database object. For example, a
     single table cannot be dumped in parallel using multiple threads.

     Examples:

	 mysqlpump --parallel-schemas=db1,db2 --parallel-schemas=db3

     mysqlpump	sets up a queue to process db1 and db2, another queue to process
     db3, and a default queue to process all other databases. All queues use two
     threads.

	 mysqlpump --parallel-schemas=db1,db2 --parallel-schemas=db3
		   --default-parallelism=4

     This is the same as the previous example except that all  queues  use  four
     threads.

	 mysqlpump --parallel-schemas=5:db1,db2 --parallel-schemas=3:db3

     The  queue  for db1 and db2 uses five threads, the queue for db3 uses three
     threads, and the default queue uses the default of two threads.

     As a special case, with --default-parallelism=0 and  no  --parallel-schemas
     options, mysqlpump runs as a single-threaded process and creates no queues.
     mysqlpump Restrictions

     mysqlpump	does  not dump the performance_schema, ndbinfo, or sys schema by
     default. To dump any of these, name them explicitly on  the  command  line.
     You can also name them with the --databases or --include-databases option.

     mysqlpump does not dump the INFORMATION_SCHEMA schema.

     mysqlpump does not dump InnoDB CREATE TABLESPACE statements.

     mysqlpump	dumps  user accounts in logical form using CREATE USER and GRANT
     statements (for example, when you use the --include-users	or  --users  op-
     tion).  For  this	reason, dumps of the mysql system database do not by de-
     fault include the grant tables that contain user definitions: user, db, ta-
     bles_priv, columns_priv, procs_priv, or proxies_priv. To dump  any  of  the
     grant tables, name the mysql database followed by the table names:

	 mysqlpump mysql user db ...

COPYRIGHT
     Copyright (C) 1997, 2026, Oracle and/or its affiliates.

     This  documentation is free software; you can redistribute it and/or modify
     it only under the terms of the GNU General Public License as  published  by
     the Free Software Foundation; version 2 of the License.

     This  documentation  is distributed in the hope that it will be useful, but
     WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY
     or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
     more details.

     You  should  have	received  a copy of the GNU General Public License along
     with the program; if not, write to the Free Software Foundation,  Inc.,  51
     Franklin	Street,   Fifth   Floor,   Boston,  MA	02110-1301  USA  or  see
     http://www.gnu.org/licenses/.

NOTES
      1. MySQL Shell dump utilities
	 https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html

      2. MySQL Shell load dump utilities
	 https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-load-dump.html

      3. here
	 https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install.html

SEE ALSO
     For more information, please refer to the MySQL Reference Manual, which may
     already be  installed  locally  and  which  is  also  available  online  at
     http://dev.mysql.com/doc/.

AUTHOR
     Oracle Corporation (http://dev.mysql.com/).

MySQL 8.0			   03/23/2026			    MYSQLPUMP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mysqlpump&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help