mydumper - multi-threaded MySQL dumping
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:
- --defaults-file
- 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
- --port, -P
- The port for the MySQL connection.
NOTE:
For localhost TCP connections use 127.0.0.1 for
--host.
- --socket,
-S
- The UNIX domain socket file to use for the connection
- --threads,
-t
- The number of threads to use for dumping data, default is 4
NOTE:
Other threads are used in mydumper, this option does not
control these
- --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
- --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
- --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)
- --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.
WARNING:
This will cause inconsistent backups.
- --[skip-]tz-utc
- 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.
- --less-locking
- Minimize locking time on InnoDB tables grabbing a LOCK TABLE … READ
on all non-innodb tables.
- --success-on-1146
- Not increment error count and Warning instead of Critical in case of table
doesn’t exist
- --use-savepoints
- Use savepoints to reduce metadata locking issues, needs SUPER
privilege