1MYSQLPUMP(1)                 MySQL Database System                MYSQLPUMP(1)
2
3
4

NAME

6       mysqlpump - a database backup program
7

SYNOPSIS

9       mysqlpump [options] [db_name [tbl_name ...]]
10

DESCRIPTION

12       •   mysqlpump Invocation Syntax
13
14       •   mysqlpump Option Summary
15
16       •   mysqlpump Option Descriptions
17
18       •   mysqlpump Object Selection
19
20       •   mysqlpump Parallel Processing
21
22       •   mysqlpump Restrictions
23
24       The mysqlpump client utility performs logical backups, producing a set
25       of SQL statements that can be executed to reproduce the original
26       database object definitions and table data. It dumps one or more MySQL
27       databases for backup or transfer to another SQL server.
28
29           Tip
30           Consider using the MySQL Shell dump utilities[1], which provide
31           parallel dumping with multiple threads, file compression, and
32           progress information display, as well as cloud features such as
33           Oracle Cloud Infrastructure Object Storage streaming, and MySQL
34           Database Service compatibility checks and modifications. Dumps can
35           be easily imported into a MySQL Server instance or a MySQL Database
36           Service DB System using the MySQL Shell load dump utilities[2].
37           Installation instructions for MySQL Shell can be found here[3].
38
39       mysqlpump features include:
40
41       •   Parallel processing of databases, and of objects within databases,
42           to speed up the dump process
43
44       •   Better control over which databases and database objects (tables,
45           stored programs, user accounts) to dump
46
47       •   Dumping of user accounts as account-management statements (CREATE
48           USER, GRANT) rather than as inserts into the mysql system database
49
50       •   Capability of creating compressed output
51
52       •   Progress indicator (the values are estimates)
53
54       •   For dump file reloading, faster secondary index creation for InnoDB
55           tables by adding indexes after rows are inserted
56
57           Note
58           mysqlpump uses MySQL features introduced in MySQL 5.7, and thus
59           assumes use with MySQL 5.7 or higher.
60
61       mysqlpump requires at least the SELECT privilege for dumped tables,
62       SHOW VIEW for dumped views, TRIGGER for dumped triggers, and LOCK
63       TABLES if the --single-transaction option is not used. The SELECT
64       privilege on the mysql system database is required to dump user
65       definitions. Certain options might require other privileges as noted in
66       the option descriptions.
67
68       To reload a dump file, you must have the privileges required to execute
69       the statements that it contains, such as the appropriate CREATE
70       privileges for objects created by those statements.
71
72           Note
73           A dump made using PowerShell on Windows with output redirection
74           creates a file that has UTF-16 encoding:
75
76               mysqlpump [options] > dump.sql
77
78           However, UTF-16 is not permitted as a connection character set (see
79           Section 10.4, “Connection Character Sets and Collations”), so the
80           dump file cannot be loaded correctly. To work around this issue,
81           use the --result-file option, which creates the output in ASCII
82           format:
83
84               mysqlpump [options] --result-file=dump.sql
85       mysqlpump Invocation Syntax
86
87       By default, mysqlpump dumps all databases (with certain exceptions
88       noted in mysqlpump Restrictions). To specify this behavior explicitly,
89       use the --all-databases option:
90
91           mysqlpump --all-databases
92
93       To dump a single database, or certain tables within that database, name
94       the database on the command line, optionally followed by table names:
95
96           mysqlpump db_name
97           mysqlpump db_name tbl_name1 tbl_name2 ...
98
99       To treat all name arguments as database names, use the --databases
100       option:
101
102           mysqlpump --databases db_name1 db_name2 ...
103
104       By default, mysqlpump does not dump user account definitions, even if
105       you dump the mysql system database that contains the grant tables. To
106       dump grant table contents as logical definitions in the form of CREATE
107       USER and GRANT statements, use the --users option and suppress all
108       database dumping:
109
110           mysqlpump --exclude-databases=% --users
111
112       In the preceding command, % is a wildcard that matches all database
113       names for the --exclude-databases option.
114
115       mysqlpump supports several options for including or excluding
116       databases, tables, stored programs, and user definitions. See mysqlpump
117       Object Selection.
118
119       To reload a dump file, execute the statements that it contains. For
120       example, use the mysql client:
121
122           mysqlpump [options] > dump.sql
123           mysql < dump.sql
124
125       The following discussion provides additional mysqlpump usage examples.
126
127       To see a list of the options mysqlpump supports, issue the command
128       mysqlpump --help.  mysqlpump Option Summary
129
130       mysqlpump supports the following options, which can be specified on the
131       command line or in the [mysqlpump] and [client] groups of an option
132       file. (Prior to MySQL 8.0.20, mysqlpump read the [mysql_dump] group
133       rather than [mysqlpump]. As of 8.0.20, [mysql_dump] is still accepted
134       but is deprecated.) For information about option files used by MySQL
135       programs, see Section 4.2.2.2, “Using Option Files”.  mysqlpump Option
136       Descriptions
137
138--help, -?  Display a help message and exit.
139
140--add-drop-database Write a DROP DATABASE statement before each
141           CREATE DATABASE statement.
142
143               Note
144               In MySQL 8.0, the mysql schema is considered a system schema
145               that cannot be dropped by end users. If --add-drop-database is
146               used with --all-databases or with --databases where the list of
147               schemas to be dumped includes mysql, the dump file contains a
148               DROP DATABASE `mysql` statement that causes an error when the
149               dump file is reloaded.
150
151               Instead, to use --add-drop-database, use --databases with a
152               list of schemas to be dumped, where the list does not include
153               mysql.
154
155--add-drop-table Write a DROP TABLE statement before each CREATE
156           TABLE statement.
157
158--add-drop-user Write a DROP USER statement before each CREATE USER
159           statement.
160
161--add-locks Surround each table dump with LOCK TABLES and UNLOCK
162           TABLES statements. This results in faster inserts when the dump
163           file is reloaded. See Section 8.2.5.1, “Optimizing INSERT
164           Statements”.
165
166           This option does not work with parallelism because INSERT
167           statements from different tables can be interleaved and UNLOCK
168           TABLES following the end of the inserts for one table could release
169           locks on tables for which inserts remain.
170
171           --add-locks and --single-transaction are mutually exclusive.
172
173--all-databases, -A Dump all databases (with certain exceptions
174           noted in mysqlpump Restrictions). This is the default behavior if
175           no other is specified explicitly.
176
177           --all-databases and --databases are mutually exclusive.
178
179               Note
180               See the --add-drop-database description for information about
181               an incompatibility of that option with --all-databases.
182           Prior to MySQL 8.0, the --routines and --events options for
183           mysqldump and mysqlpump were not required to include stored
184           routines and events when using the --all-databases option: The dump
185           included the mysql system database, and therefore also the
186           mysql.proc and mysql.event tables containing stored routine and
187           event definitions. As of MySQL 8.0, the mysql.event and mysql.proc
188           tables are not used. Definitions for the corresponding objects are
189           stored in data dictionary tables, but those tables are not dumped.
190           To include stored routines and events in a dump made using
191           --all-databases, use the --routines and --events options
192           explicitly.
193
194--bind-address=ip_address On a computer having multiple network
195           interfaces, use this option to select which interface to use for
196           connecting to the MySQL server.
197
198--character-sets-dir=path The directory where character sets are
199           installed. See Section 10.15, “Character Set Configuration”.
200
201--column-statistics Add ANALYZE TABLE statements to the output to
202           generate histogram statistics for dumped tables when the dump file
203           is reloaded. This option is disabled by default because histogram
204           generation for large tables can take a long time.
205
206--complete-insert Write complete INSERT statements that include
207           column names.
208
209--compress, -C Compress all information sent between the client and
210           the server if possible. See Section 4.2.8, “Connection Compression
211           Control”.
212
213           As of MySQL 8.0.18, this option is deprecated. Expect it to be
214           removed in a future version of MySQL. See the section called
215           “Configuring Legacy Connection Compression”.
216
217--compress-output=algorithm By default, mysqlpump does not compress
218           output. This option specifies output compression using the
219           specified algorithm. Permitted algorithms are LZ4 and ZLIB.
220
221           To uncompress compressed output, you must have an appropriate
222           utility. If the system commands lz4 and openssl zlib are not
223           available, MySQL distributions include lz4_decompress and
224           zlib_decompress utilities that can be used to decompress mysqlpump
225           output that was compressed using the --compress-output=LZ4 and
226           --compress-output=ZLIB options. For more information, see
227           lz4_decompress(1), and zlib_decompress(1).
228
229--compression-algorithms=value The permitted compression algorithms
230           for connections to the server. The available algorithms are the
231           same as for the protocol_compression_algorithms system variable.
232           The default value is uncompressed.
233
234           For more information, see Section 4.2.8, “Connection Compression
235           Control”.
236
237           This option was added in MySQL 8.0.18.
238
239--databases, -B Normally, mysqlpump treats the first name argument
240           on the command line as a database name and any following names as
241           table names. With this option, it treats all name arguments as
242           database names.  CREATE DATABASE statements are included in the
243           output before each new database.
244
245           --all-databases and --databases are mutually exclusive.
246
247               Note
248               See the --add-drop-database description for information about
249               an incompatibility of that option with --databases.
250
251--debug[=debug_options], -# [debug_options] Write a debugging log.
252           A typical debug_options string is d:t:o,file_name. The default is
253           d:t:O,/tmp/mysqlpump.trace.
254
255           This option is available only if MySQL was built using WITH_DEBUG.
256           MySQL release binaries provided by Oracle are not built using this
257           option.
258
259--debug-check Print some debugging information when the program
260           exits.
261
262           This option is available only if MySQL was built using WITH_DEBUG.
263           MySQL release binaries provided by Oracle are not built using this
264           option.
265
266--debug-info, -T Print debugging information and memory and CPU
267           usage statistics when the program exits.
268
269           This option is available only if MySQL was built using WITH_DEBUG.
270           MySQL release binaries provided by Oracle are not built using this
271           option.
272
273--default-auth=plugin A hint about which client-side authentication
274           plugin to use. See Section 6.2.17, “Pluggable Authentication”.
275
276--default-character-set=charset_name Use charset_name as the
277           default character set. See Section 10.15, “Character Set
278           Configuration”. If no character set is specified, mysqlpump uses
279           utf8mb4.
280
281--default-parallelism=N The default number of threads for each
282           parallel processing queue. The default is 2.
283
284           The --parallel-schemas option also affects parallelism and can be
285           used to override the default number of threads. For more
286           information, see mysqlpump Parallel Processing.
287
288           With --default-parallelism=0 and no --parallel-schemas options,
289           mysqlpump runs as a single-threaded process and creates no queues.
290
291           With parallelism enabled, it is possible for output from different
292           databases to be interleaved.
293
294--defaults-extra-file=file_name Read this option file after the
295           global option file but (on Unix) before the user option file. If
296           the file does not exist or is otherwise inaccessible, an error
297           occurs. If file_name is not an absolute path name, it is
298           interpreted relative to the current directory.
299
300           For additional information about this and other option-file
301           options, see Section 4.2.2.3, “Command-Line Options that Affect
302           Option-File Handling”.
303
304--defaults-file=file_name Use only the given option file. If the
305           file does not exist or is otherwise inaccessible, an error occurs.
306           If file_name is not an absolute path name, it is interpreted
307           relative to the current directory.
308
309           Exception: Even with --defaults-file, client programs read
310           .mylogin.cnf.
311
312           For additional information about this and other option-file
313           options, see Section 4.2.2.3, “Command-Line Options that Affect
314           Option-File Handling”.
315
316--defaults-group-suffix=str Read not only the usual option groups,
317           but also groups with the usual names and a suffix of str. For
318           example, mysqlpump normally reads the [client] and [mysqlpump]
319           groups. If this option is given as --defaults-group-suffix=_other,
320           mysqlpump also reads the [client_other] and [mysqlpump_other]
321           groups.
322
323           For additional information about this and other option-file
324           options, see Section 4.2.2.3, “Command-Line Options that Affect
325           Option-File Handling”.
326
327--defer-table-indexes In the dump output, defer index creation for
328           each table until after its rows have been loaded. This works for
329           all storage engines, but for InnoDB applies only for secondary
330           indexes.
331
332           This option is enabled by default; use --skip-defer-table-indexes
333           to disable it.
334
335--events Include Event Scheduler events for the dumped databases in
336           the output. Event dumping requires the EVENT privileges for those
337           databases.
338
339           The output generated by using --events contains CREATE EVENT
340           statements to create the events.
341
342           This option is enabled by default; use --skip-events to disable it.
343
344--exclude-databases=db_list Do not dump the databases in db_list,
345           which is a list of one or more comma-separated database names.
346           Multiple instances of this option are additive. For more
347           information, see mysqlpump Object Selection.
348
349--exclude-events=event_list Do not dump the databases in
350           event_list, which is a list of one or more comma-separated event
351           names. Multiple instances of this option are additive. For more
352           information, see mysqlpump Object Selection.
353
354--exclude-routines=routine_list Do not dump the events in
355           routine_list, which is a list of one or more comma-separated
356           routine (stored procedure or function) names. Multiple instances of
357           this option are additive. For more information, see mysqlpump
358           Object Selection.
359
360--exclude-tables=table_list Do not dump the tables in table_list,
361           which is a list of one or more comma-separated table names.
362           Multiple instances of this option are additive. For more
363           information, see mysqlpump Object Selection.
364
365--exclude-triggers=trigger_list Do not dump the triggers in
366           trigger_list, which is a list of one or more comma-separated
367           trigger names. Multiple instances of this option are additive. For
368           more information, see mysqlpump Object Selection.
369
370--exclude-users=user_list Do not dump the user accounts in
371           user_list, which is a list of one or more comma-separated account
372           names. Multiple instances of this option are additive. For more
373           information, see mysqlpump Object Selection.
374
375--extended-insert=N Write INSERT statements using multiple-row
376           syntax that includes several VALUES lists. This results in a
377           smaller dump file and speeds up inserts when the file is reloaded.
378
379           The option value indicates the number of rows to include in each
380           INSERT statement. The default is 250. A value of 1 produces one
381           INSERT statement per table row.
382
383--get-server-public-key Request from the server the public key
384           required for RSA key pair-based password exchange. This option
385           applies to clients that authenticate with the caching_sha2_password
386           authentication plugin. For that plugin, the server does not send
387           the public key unless requested. This option is ignored for
388           accounts that do not authenticate with that plugin. It is also
389           ignored if RSA-based password exchange is not used, as is the case
390           when the client connects to the server using a secure connection.
391
392           If --server-public-key-path=file_name is given and specifies a
393           valid public key file, it takes precedence over
394           --get-server-public-key.
395
396           For information about the caching_sha2_password plugin, see
397           Section 6.4.1.2, “Caching SHA-2 Pluggable Authentication”.
398
399--hex-blob Dump binary columns using hexadecimal notation (for
400           example, 'abc' becomes 0x616263). The affected data types are
401           BINARY, VARBINARY, BLOB types, BIT, all spatial data types, and
402           other non-binary data types when used with the binary character
403           set.
404
405--host=host_name, -h host_name Dump data from the MySQL server on
406           the given host.
407
408--include-databases=db_list Dump the databases in db_list, which is
409           a list of one or more comma-separated database names. The dump
410           includes all objects in the named databases. Multiple instances of
411           this option are additive. For more information, see mysqlpump
412           Object Selection.
413
414--include-events=event_list Dump the events in event_list, which is
415           a list of one or more comma-separated event names. Multiple
416           instances of this option are additive. For more information, see
417           mysqlpump Object Selection.
418
419--include-routines=routine_list Dump the routines in routine_list,
420           which is a list of one or more comma-separated routine (stored
421           procedure or function) names. Multiple instances of this option are
422           additive. For more information, see mysqlpump Object Selection.
423
424--include-tables=table_list Dump the tables in table_list, which is
425           a list of one or more comma-separated table names. Multiple
426           instances of this option are additive. For more information, see
427           mysqlpump Object Selection.
428
429--include-triggers=trigger_list Dump the triggers in trigger_list,
430           which is a list of one or more comma-separated trigger names.
431           Multiple instances of this option are additive. For more
432           information, see mysqlpump Object Selection.
433
434--include-users=user_list Dump the user accounts in user_list,
435           which is a list of one or more comma-separated user names. Multiple
436           instances of this option are additive. For more information, see
437           mysqlpump Object Selection.
438
439--insert-ignore Write INSERT IGNORE statements rather than INSERT
440           statements.
441
442--log-error-file=file_name Log warnings and errors by appending
443           them to the named file. If this option is not given, mysqlpump
444           writes warnings and errors to the standard error output.
445
446--login-path=name Read options from the named login path in the
447           .mylogin.cnf login path file. A “login path” is an option group
448           containing options that specify which MySQL server to connect to
449           and which account to authenticate as. To create or modify a login
450           path file, use the mysql_config_editor utility. See
451           mysql_config_editor(1).
452
453           For additional information about this and other option-file
454           options, see Section 4.2.2.3, “Command-Line Options that Affect
455           Option-File Handling”.
456
457--max-allowed-packet=N The maximum size of the buffer for
458           client/server communication. The default is 24MB, the maximum is
459           1GB.
460
461--net-buffer-length=N The initial size of the buffer for
462           client/server communication. When creating multiple-row INSERT
463           statements (as with the --extended-insert option), mysqlpump
464           creates rows up to N bytes long. If you use this option to increase
465           the value, ensure that the MySQL server net_buffer_length system
466           variable has a value at least this large.
467
468--no-create-db Suppress any CREATE DATABASE statements that might
469           otherwise be included in the output.
470
471--no-create-info, -t Do not write CREATE TABLE statements that
472           create each dumped table.
473
474--no-defaults Do not read any option files. If program startup
475           fails due to reading unknown options from an option file,
476           --no-defaults can be used to prevent them from being read.
477
478           The exception is that the .mylogin.cnf file is read in all cases,
479           if it exists. This permits passwords to be specified in a safer way
480           than on the command line even when --no-defaults is used. To create
481           .mylogin.cnf, use the mysql_config_editor utility. See
482           mysql_config_editor(1).
483
484           For additional information about this and other option-file
485           options, see Section 4.2.2.3, “Command-Line Options that Affect
486           Option-File Handling”.
487
488--parallel-schemas=[N:]db_list Create a queue for processing the
489           databases in db_list, which is a list of one or more
490           comma-separated database names. If N is given, the queue uses N
491           threads. If N is not given, the --default-parallelism option
492           determines the number of queue threads.
493
494           Multiple instances of this option create multiple queues.
495           mysqlpump also creates a default queue to use for databases not
496           named in any --parallel-schemas option, and for dumping user
497           definitions if command options select them. For more information,
498           see mysqlpump Parallel Processing.
499
500--password[=password], -p[password] The password of the MySQL
501           account used for connecting to the server. The password value is
502           optional. If not given, mysqlpump prompts for one. If given, there
503           must be no space between --password= or -p and the password
504           following it. If no password option is specified, the default is to
505           send no password.
506
507           Specifying a password on the command line should be considered
508           insecure. To avoid giving the password on the command line, use an
509           option file. See Section 6.1.2.1, “End-User Guidelines for Password
510           Security”.
511
512           To explicitly specify that there is no password and that mysqlpump
513           should not prompt for one, use the --skip-password option.
514
515--password1[=pass_val] The password for multifactor authentication
516           factor 1 of the MySQL account used for connecting to the server.
517           The password value is optional. If not given, mysqlpump prompts for
518           one. If given, there must be no space between --password1= and the
519           password following it. If no password option is specified, the
520           default is to send no password.
521
522           Specifying a password on the command line should be considered
523           insecure. To avoid giving the password on the command line, use an
524           option file. See Section 6.1.2.1, “End-User Guidelines for Password
525           Security”.
526
527           To explicitly specify that there is no password and that mysqlpump
528           should not prompt for one, use the --skip-password1 option.
529
530           --password1 and --password are synonymous, as are --skip-password1
531           and --skip-password.
532
533--password2[=pass_val] The password for multifactor authentication
534           factor 2 of the MySQL account used for connecting to the server.
535           The semantics of this option are similar to the semantics for
536           --password1; see the description of that option for details.
537
538--password3[=pass_val] The password for multifactor authentication
539           factor 3 of the MySQL account used for connecting to the server.
540           The semantics of this option are similar to the semantics for
541           --password1; see the description of that option for details.
542
543--plugin-dir=dir_name The directory in which to look for plugins.
544           Specify this option if the --default-auth option is used to specify
545           an authentication plugin but mysqlpump does not find it. See
546           Section 6.2.17, “Pluggable Authentication”.
547
548--port=port_num, -P port_num For TCP/IP connections, the port
549           number to use.
550
551--print-defaults Print the program name and all options that it
552           gets from option files.
553
554           For additional information about this and other option-file
555           options, see Section 4.2.2.3, “Command-Line Options that Affect
556           Option-File Handling”.
557
558--protocol={TCP|SOCKET|PIPE|MEMORY} The transport protocol to use
559           for connecting to the server. It is useful when the other
560           connection parameters normally result in use of a protocol other
561           than the one you want. For details on the permissible values, see
562           Section 4.2.7, “Connection Transport Protocols”.
563
564--replace Write REPLACE statements rather than INSERT statements.
565
566--result-file=file_name Direct output to the named file. The result
567           file is created and its previous contents overwritten, even if an
568           error occurs while generating the dump.
569
570           This option should be used on Windows to prevent newline \n
571           characters from being converted to \r\n carriage return/newline
572           sequences.
573
574--routines Include stored routines (procedures and functions) for
575           the dumped databases in the output. This option requires the global
576           SELECT privilege.
577
578           The output generated by using --routines contains CREATE PROCEDURE
579           and CREATE FUNCTION statements to create the routines.
580
581           This option is enabled by default; use --skip-routines to disable
582           it.
583
584--server-public-key-path=file_name The path name to a file in PEM
585           format containing a client-side copy of the public key required by
586           the server for RSA key pair-based password exchange. This option
587           applies to clients that authenticate with the sha256_password or
588           caching_sha2_password authentication plugin. This option is ignored
589           for accounts that do not authenticate with one of those plugins. It
590           is also ignored if RSA-based password exchange is not used, as is
591           the case when the client connects to the server using a secure
592           connection.
593
594           If --server-public-key-path=file_name is given and specifies a
595           valid public key file, it takes precedence over
596           --get-server-public-key.
597
598           For sha256_password, this option applies only if MySQL was built
599           using OpenSSL.
600
601           For information about the sha256_password and caching_sha2_password
602           plugins, see Section 6.4.1.3, “SHA-256 Pluggable Authentication”,
603           and Section 6.4.1.2, “Caching SHA-2 Pluggable Authentication”.
604
605--set-charset Write SET NAMES default_character_set to the output.
606
607           This option is enabled by default. To disable it and suppress the
608           SET NAMES statement, use --skip-set-charset.
609
610--set-gtid-purged=value This option enables control over global
611           transaction ID (GTID) information written to the dump file, by
612           indicating whether to add a SET @@GLOBAL.gtid_purged statement to
613           the output. This option may also cause a statement to be written to
614           the output that disables binary logging while the dump file is
615           being reloaded.
616
617           The following table shows the permitted option values. The default
618           value is AUTO.
619
620           ┌──────┬────────────────────────────┐
621Value Meaning                    
622           ├──────┼────────────────────────────┤
623           │OFF   │ Add no SET statement to    │
624           │      │ the output.                │
625           ├──────┼────────────────────────────┤
626           │ON    │ Add a SET statement to the │
627           │      │ output. An error occurs if │
628           │      │                   GTIDs    │
629           │      │ are not enabled on the     │
630           │      │ server.                    │
631           ├──────┼────────────────────────────┤
632           │AUTO  │ Add a SET statement to the │
633           │      │ output if GTIDs are        │
634           │      │                   enabled  │
635           │      │ on the server.             │
636           └──────┴────────────────────────────┘
637           The --set-gtid-purged option has the following effect on binary
638           logging when the dump file is reloaded:
639
640--set-gtid-purged=OFF: SET @@SESSION.SQL_LOG_BIN=0; is not
641               added to the output.
642
643--set-gtid-purged=ON: SET @@SESSION.SQL_LOG_BIN=0; is added to
644               the output.
645
646--set-gtid-purged=AUTO: SET @@SESSION.SQL_LOG_BIN=0; is added
647               to the output if GTIDs are enabled on the server you are
648               backing up (that is, if AUTO evaluates to ON).
649
650--single-transaction This option sets the transaction isolation
651           mode to REPEATABLE READ and sends a START TRANSACTION SQL statement
652           to the server before dumping data. It is useful only with
653           transactional tables such as InnoDB, because then it dumps the
654           consistent state of the database at the time when START TRANSACTION
655           was issued without blocking any applications.
656
657           When using this option, you should keep in mind that only InnoDB
658           tables are dumped in a consistent state. For example, any MyISAM or
659           MEMORY tables dumped while using this option may still change
660           state.
661
662           While a --single-transaction dump is in process, to ensure a valid
663           dump file (correct table contents and binary log coordinates), no
664           other connection should use the following statements: ALTER TABLE,
665           CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE. A
666           consistent read is not isolated from those statements, so use of
667           them on a table to be dumped can cause the SELECT that is performed
668           by mysqlpump to retrieve the table contents to obtain incorrect
669           contents or fail.
670
671           --add-locks and --single-transaction are mutually exclusive.
672
673--skip-definer Omit DEFINER and SQL SECURITY clauses from the
674           CREATE statements for views and stored programs. The dump file,
675           when reloaded, creates objects that use the default DEFINER and SQL
676           SECURITY values. See Section 25.6, “Stored Object Access Control”.
677
678--skip-dump-rows, -d Do not dump table rows.
679
680--skip-generated-invisible-primary-key This option is available
681           beginning with MySQL 8.0.30, and causes generated invisible primary
682           keys (GIPKs) to be excluded from the dump. See Section 13.1.20.11,
683           “Generated Invisible Primary Keys”, for more information about
684           GIPKs and GIPK mode.
685
686--socket=path, -S path For connections to localhost, the Unix
687           socket file to use, or, on Windows, the name of the named pipe to
688           use.
689
690           On Windows, this option applies only if the server was started with
691           the named_pipe system variable enabled to support named-pipe
692           connections. In addition, the user making the connection must be a
693           member of the Windows group specified by the
694           named_pipe_full_access_group system variable.
695
696--ssl* Options that begin with --ssl specify whether to connect to
697           the server using encryption and indicate where to find SSL keys and
698           certificates. See the section called “Command Options for Encrypted
699           Connections”.
700
701--ssl-fips-mode={OFF|ON|STRICT} Controls whether to enable FIPS
702           mode on the client side. The --ssl-fips-mode option differs from
703           other --ssl-xxx options in that it is not used to establish
704           encrypted connections, but rather to affect which cryptographic
705           operations to permit. See Section 6.8, “FIPS Support”.
706
707           These --ssl-fips-mode values are permitted:
708
709           •   OFF: Disable FIPS mode.
710
711           •   ON: Enable FIPS mode.
712
713           •   STRICT: Enable “strict” FIPS mode.
714
715
716               Note
717               If the OpenSSL FIPS Object Module is not available, the only
718               permitted value for --ssl-fips-mode is OFF. In this case,
719               setting --ssl-fips-mode to ON or STRICT causes the client to
720               produce a warning at startup and to operate in non-FIPS mode.
721
722--tls-ciphersuites=ciphersuite_list The permissible ciphersuites
723           for encrypted connections that use TLSv1.3. The value is a list of
724           one or more colon-separated ciphersuite names. The ciphersuites
725           that can be named for this option depend on the SSL library used to
726           compile MySQL. For details, see Section 6.3.2, “Encrypted
727           Connection TLS Protocols and Ciphers”.
728
729           This option was added in MySQL 8.0.16.
730
731--tls-version=protocol_list The permissible TLS protocols for
732           encrypted connections. The value is a list of one or more
733           comma-separated protocol names. The protocols that can be named for
734           this option depend on the SSL library used to compile MySQL. For
735           details, see Section 6.3.2, “Encrypted Connection TLS Protocols and
736           Ciphers”.
737
738--triggers Include triggers for each dumped table in the output.
739
740           This option is enabled by default; use --skip-triggers to disable
741           it.
742
743--tz-utc This option enables TIMESTAMP columns to be dumped and
744           reloaded between servers in different time zones.  mysqlpump sets
745           its connection time zone to UTC and adds SET TIME_ZONE='+00:00' to
746           the dump file. Without this option, TIMESTAMP columns are dumped
747           and reloaded in the time zones local to the source and destination
748           servers, which can cause the values to change if the servers are in
749           different time zones.  --tz-utc also protects against changes due
750           to daylight saving time.
751
752           This option is enabled by default; use --skip-tz-utc to disable it.
753
754--user=user_name, -u user_name The user name of the MySQL account
755           to use for connecting to the server.
756
757           If you are using the Rewriter plugin with MySQL 8.0.31 or later,
758           you should grant this user the SKIP_QUERY_REWRITE privilege.
759
760--users Dump user accounts as logical definitions in the form of
761           CREATE USER and GRANT statements.
762
763           User definitions are stored in the grant tables in the mysql system
764           database. By default, mysqlpump does not include the grant tables
765           in mysql database dumps. To dump the contents of the grant tables
766           as logical definitions, use the --users option and suppress all
767           database dumping:
768
769               mysqlpump --exclude-databases=% --users
770
771--version, -V Display version information and exit.
772
773--watch-progress Periodically display a progress indicator that
774           provides information about the completed and total number of
775           tables, rows, and other objects.
776
777           This option is enabled by default; use --skip-watch-progress to
778           disable it.
779
780--zstd-compression-level=level The compression level to use for
781           connections to the server that use the zstd compression algorithm.
782           The permitted levels are from 1 to 22, with larger values
783           indicating increasing levels of compression. The default zstd
784           compression level is 3. The compression level setting has no effect
785           on connections that do not use zstd compression.
786
787           For more information, see Section 4.2.8, “Connection Compression
788           Control”.
789
790           This option was added in MySQL 8.0.18.
791       mysqlpump Object Selection
792
793       mysqlpump has a set of inclusion and exclusion options that enable
794       filtering of several object types and provide flexible control over
795       which objects to dump:
796
797--include-databases and --exclude-databases apply to databases and
798           all objects within them.
799
800--include-tables and --exclude-tables apply to tables. These
801           options also affect triggers associated with tables unless the
802           trigger-specific options are given.
803
804--include-triggers and --exclude-triggers apply to triggers.
805
806--include-routines and --exclude-routines apply to stored
807           procedures and functions. If a routine option matches a stored
808           procedure name, it also matches a stored function of the same name.
809
810--include-events and --exclude-events apply to Event Scheduler
811           events.
812
813--include-users and --exclude-users apply to user accounts.
814
815       Any inclusion or exclusion option may be given multiple times. The
816       effect is additive. Order of these options does not matter.
817
818       The value of each inclusion and exclusion option is a list of
819       comma-separated names of the appropriate object type. For example:
820
821           --exclude-databases=test,world
822           --include-tables=customer,invoice
823
824       Wildcard characters are permitted in the object names:
825
826       •   % matches any sequence of zero or more characters.
827
828       •   _ matches any single character.
829
830       For example, --include-tables=t%,__tmp matches all table names that
831       begin with t and all five-character table names that end with tmp.
832
833       For users, a name specified without a host part is interpreted with an
834       implied host of %. For example, u1 and u1@% are equivalent. This is the
835       same equivalence that applies in MySQL generally (see Section 6.2.4,
836       “Specifying Account Names”).
837
838       Inclusion and exclusion options interact as follows:
839
840       •   By default, with no inclusion or exclusion options, mysqlpump dumps
841           all databases (with certain exceptions noted in mysqlpump
842           Restrictions).
843
844       •   If inclusion options are given in the absence of exclusion options,
845           only the objects named as included are dumped.
846
847       •   If exclusion options are given in the absence of inclusion options,
848           all objects are dumped except those named as excluded.
849
850       •   If inclusion and exclusion options are given, all objects named as
851           excluded and not named as included are not dumped. All other
852           objects are dumped.
853
854       If multiple databases are being dumped, it is possible to name tables,
855       triggers, and routines in a specific database by qualifying the object
856       names with the database name. The following command dumps databases db1
857       and db2, but excludes tables db1.t1 and db2.t2:
858
859           mysqlpump --include-databases=db1,db2 --exclude-tables=db1.t1,db2.t2
860
861       The following options provide alternative ways to specify which
862       databases to dump:
863
864       •   The --all-databases option dumps all databases (with certain
865           exceptions noted in mysqlpump Restrictions). It is equivalent to
866           specifying no object options at all (the default mysqlpump action
867           is to dump everything).
868
869           --include-databases=% is similar to --all-databases, but selects
870           all databases for dumping, even those that are exceptions for
871           --all-databases.
872
873       •   The --databases option causes mysqlpump to treat all name arguments
874           as names of databases to dump. It is equivalent to an
875           --include-databases option that names the same databases.
876       mysqlpump Parallel Processing
877
878       mysqlpump can use parallelism to achieve concurrent processing. You can
879       select concurrency between databases (to dump multiple databases
880       simultaneously) and within databases (to dump multiple objects from a
881       given database simultaneously).
882
883       By default, mysqlpump sets up one queue with two threads. You can
884       create additional queues and control the number of threads assigned to
885       each one, including the default queue:
886
887--default-parallelism=N specifies the default number of threads
888           used for each queue. In the absence of this option, N is 2.
889
890           The default queue always uses the default number of threads.
891           Additional queues use the default number of threads unless you
892           specify otherwise.
893
894--parallel-schemas=[N:]db_list sets up a processing queue for
895           dumping the databases named in db_list and optionally specifies how
896           many threads the queue uses.  db_list is a list of comma-separated
897           database names. If the option argument begins with N:, the queue
898           uses N threads. Otherwise, the --default-parallelism option
899           determines the number of queue threads.
900
901           Multiple instances of the --parallel-schemas option create multiple
902           queues.
903
904           Names in the database list are permitted to contain the same % and
905           _ wildcard characters supported for filtering options (see
906           mysqlpump Object Selection).
907
908       mysqlpump uses the default queue for processing any databases not named
909       explicitly with a --parallel-schemas option, and for dumping user
910       definitions if command options select them.
911
912       In general, with multiple queues, mysqlpump uses parallelism between
913       the sets of databases processed by the queues, to dump multiple
914       databases simultaneously. For a queue that uses multiple threads,
915       mysqlpump uses parallelism within databases, to dump multiple objects
916       from a given database simultaneously. Exceptions can occur; for
917       example, mysqlpump may block queues while it obtains from the server
918       lists of objects in databases.
919
920       With parallelism enabled, it is possible for output from different
921       databases to be interleaved. For example, INSERT statements from
922       multiple tables dumped in parallel can be interleaved; the statements
923       are not written in any particular order. This does not affect reloading
924       because output statements qualify object names with database names or
925       are preceded by USE statements as required.
926
927       The granularity for parallelism is a single database object. For
928       example, a single table cannot be dumped in parallel using multiple
929       threads.
930
931       Examples:
932
933           mysqlpump --parallel-schemas=db1,db2 --parallel-schemas=db3
934
935       mysqlpump sets up a queue to process db1 and db2, another queue to
936       process db3, and a default queue to process all other databases. All
937       queues use two threads.
938
939           mysqlpump --parallel-schemas=db1,db2 --parallel-schemas=db3
940                     --default-parallelism=4
941
942       This is the same as the previous example except that all queues use
943       four threads.
944
945           mysqlpump --parallel-schemas=5:db1,db2 --parallel-schemas=3:db3
946
947       The queue for db1 and db2 uses five threads, the queue for db3 uses
948       three threads, and the default queue uses the default of two threads.
949
950       As a special case, with --default-parallelism=0 and no
951       --parallel-schemas options, mysqlpump runs as a single-threaded process
952       and creates no queues.  mysqlpump Restrictions
953
954       mysqlpump does not dump the performance_schema, ndbinfo, or sys schema
955       by default. To dump any of these, name them explicitly on the command
956       line. You can also name them with the --databases or
957       --include-databases option.
958
959       mysqlpump does not dump the INFORMATION_SCHEMA schema.
960
961       mysqlpump does not dump InnoDB CREATE TABLESPACE statements.
962
963       mysqlpump dumps user accounts in logical form using CREATE USER and
964       GRANT statements (for example, when you use the --include-users or
965       --users option). For this reason, dumps of the mysql system database do
966       not by default include the grant tables that contain user definitions:
967       user, db, tables_priv, columns_priv, procs_priv, or proxies_priv. To
968       dump any of the grant tables, name the mysql database followed by the
969       table names:
970
971           mysqlpump mysql user db ...
972
974       Copyright © 1997, 2022, Oracle and/or its affiliates.
975
976       This documentation is free software; you can redistribute it and/or
977       modify it only under the terms of the GNU General Public License as
978       published by the Free Software Foundation; version 2 of the License.
979
980       This documentation is distributed in the hope that it will be useful,
981       but WITHOUT ANY WARRANTY; without even the implied warranty of
982       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
983       General Public License for more details.
984
985       You should have received a copy of the GNU General Public License along
986       with the program; if not, write to the Free Software Foundation, Inc.,
987       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see
988       http://www.gnu.org/licenses/.
989
990

NOTES

992        1. MySQL Shell dump utilities
993           https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html
994
995        2. MySQL Shell load dump utilities
996           https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-load-dump.html
997
998        3. here
999           https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install.html
1000

SEE ALSO

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

AUTHOR

1007       Oracle Corporation (http://dev.mysql.com/).
1008
1009
1010
1011MySQL 8.0                         08/29/2022                      MYSQLPUMP(1)
Impressum