mysqldump is a command-line tool used for creating database backups in MySQL. By default, mysqldump includes all tables of the specified database when creating the dump. In some cases, it is useful to exclude some of the tables or even include only some of them. For me, this helped to exclude one of the biggest tables to reduce the backup execution time and file size.
Exclude a single table
To exclude a single table, the argument --ignore-table followed by the table name is used:
mysqldump my_database --ignore-table=my_table > my_backup.sqlThis will create a file my_backup.sql containing the sql schema and data of all tables in the database my_database except my_table.
Exclude multiple tables
To exclude multiple tables, simply add the argument --ignore-table for all the tables you want to exclude:
mysqldump my_database --ignore-table=my_table --ignore-table=another_table > my_backup.sqlThis will create a file my_backup.sql containing the sql schema and data of all tables in the database my_database except my_table and another_table.
Include a single table
To include only a single table into the dump, add the name of the table to the command:
mysqldump my_database my_table > my_backup.sqlThis will create a file my_backup.sql containing the sql schema and data of the table my_table from the database my_database.
Include multiple tables
To include multiple tables into the dump, add the names of the tables to the command:
mysqldump my_database my_table another_table > my_backup.sqlThis will create a file my_backup.sql containing the sql schema and data of the tables my_table and another_table from the database my_database.
A complete documentation of mysqldump is available at mysql.com.
Photo by William Warby on Unsplash

Leave a Reply