Mydumper Usage


mydumper [OPTIONS]


mydumper is a tool used for backing up MySQL database servers much faster than the mysqldump tool distributed with MySQL. It also has the capability to retrieve the binary logs from the remote server at the same time as the dump itself. The advantages of mydumper are:

  • Parallelism (hence, speed) and performance (avoids expensive character set conversion routines, efficient code overall)

  • Easier to manage output (separate files for tables, dump metadata, etc, easy to view/parse data)

  • Consistency - maintains snapshot across all threads, provides accurate master and slave log positions, etc

  • Manageability - supports PCRE for specifying database and tables inclusions and exclusions


The mydumper tool has several available options:

--help, -?

Show help text


Use the given option file. If the file does not exist or is otherwise inaccessible, no failure occurs

--host, -h

Hostname of MySQL server to connect to (default localhost)

--user, -u

MySQL username with the correct privileges to execute the dump

--password, -p

The corresponding password for the MySQL user

--port, -P

The port for the MySQL connection.


For localhost TCP connections use for --host.

--socket, -S

The UNIX domain socket file to use for the connection

--database, -B

Database to dump

--tables-list, -T

A comma separated list of tables to dump

--threads, -t

The number of threads to use for dumping data, default is 4


Other threads are used in mydumper, this option does not control these

--outputdir, -o

Output directory name, default is export-YYYYMMDD-HHMMSS

--statement-size, -s

The maximum size for an insert statement before breaking into a new statement, default 1,000,000 bytes

--rows, -r

Split table into chunks of this many rows, default unlimited

--compress, -c

Compress the output files

--compress-input, -C

Use client protocol compression for connections to the MySQL server

--build-empty-files, -e

Create empty dump files if there is no data to dump

--regex, -x

A regular expression to match against database and table

--omit-from-file, -O

File containing a list of database.table entries to skip, one per line; the skipped entries have precedence over patterns specified by the regex option

--ignore-engines, -i

Comma separated list of storage engines to ignore

--no-schemas, -m

Do not dump schemas with the data

--no-data, -d

Do not dump table data

--triggers, -G

Dump triggers

--events, -E

Dump events

--routines, -R

Dump stored procedures and functions

--no-views, -W

Do not dump views

--long-query-guard, -l

Timeout for long query execution in seconds, default 60

--kill-long-queries, -K

Kill long running queries instead of aborting the dump

--version, -V

Show the program version and exit

--verbose, -v

The verbosity of messages. 0 = silent, 1 = errors, 2 = warnings, 3 = info. Default is 2.

--binlogs, -b

Get the binlogs from the server as well as the dump files (You need to compile with -DWITH_BINLOG=ON)

--daemon, -D

Enable daemon mode

--snapshot-interval, -I

Interval between each dump snapshot (in minutes), requires --daemon, default 60 (minutes)

--logfile, -L

A file to log mydumper output to instead of console output. Useful for daemon mode.

--no-locks, -k

Do not execute the temporary shared read lock.


This will cause inconsistent backups.


Do not use Percona Backup Locks


SET TIME_ZONE=’+00:00’ at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use –skip-tz-utc to disable.


Minimize locking time on InnoDB tables grabbing a LOCK TABLE … READ on all non-innodb tables.

--chunk-filesize -F

Split tables into chunks of this output file size. This value is in MB


Not increment error count and Warning instead of Critical in case of table doesn’t exist


Use savepoints to reduce metadata locking issues, needs SUPER privilege


Use complete INSERT statements that include column names.