MYDUMPER(1)

πŸ’– NAME πŸ’–

okay so bestie, this whole page is about mydumper (that's mydumper(1) if we're being formal ✨) β€” the multi-threaded MySQL dumping tool that carries your backups on its back like the icon it is.


πŸ¦‹ SYNOPSIS πŸ¦‹

mydumper [OPTIONS]

🌸 DESCRIPTION 🌸

mydumper is the tool you use to back up MySQL database servers, and it does it way faster than mysqldump (the one that ships with MySQL, no shade... okay a little shade πŸ’…). It can also pull the binary logs off the remote server at the exact same time as the dump itself. multitasking queen behavior, honestly.

the advantages of mydumper are, in no particular order but also very much in this order:

  • Parallelism (hence, speed) and performance (it avoids expensive character set conversion routines, and the code is efficient overall) πŸ”₯
  • Easier to manage output β€” separate files for tables, dump metadata, etc., so it's easy to view and parse your data πŸ‘‘
  • Consistency β€” it maintains a snapshot across all threads, and gives you accurate master and slave log positions, etc. 🫢
  • Manageability β€” it supports PCRE for specifying database and table inclusions and exclusions πŸŽ€

✨ OPTIONS ✨

the mydumper tool has several available options, and yes we're going through all of them, bestie, every single one, no skipping:

  • --help, -? β€” Show help text πŸ™‹
  • --defaults-file β€” Use the given option file. If the file does not exist or is otherwise inaccessible, no failure occurs (chill, it just shrugs)
  • --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.
NOTE: For localhost TCP connections use 127.0.0.1 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
NOTE: 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.
WARNING: This will cause inconsistent backups. 😭 like actually, do not do this casually.
  • --no-backup-locks β€” Do not use Percona Backup Locks
  • --[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.
  • --chunk-filesize, -F β€” Split tables into chunks of this output file size. This value is in MB
  • --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
  • --complete-insert β€” Use complete INSERT statements that include column names.

πŸ’œ AUTHOR πŸ’œ

Andrew Hutchings


2011, Andrew Hutchings


and that's the whole page, bestie πŸŽ€ do it for the backups. this was version 0.10.0, dated Sep 22, 2025 β€” yes that fresh. now go forth and dump responsibly πŸ‘‘πŸ’–

πŸ“¦ where this page comes from