mysql,

How to backup and restore a MySQL database

Jul 14, 2021 · 1 min read · Post a comment

MySQL is one of the most popular open-source database engines. Manually backing up and restoring databases for whatever reasons could be found quite easy to execute, and we can see how can we do it in the following steps below.

Backup and dump are used interchangeably.

Prerequisites

  • MySQL

Backing up a MySQL database

Backing up a MySQL can be done in multiple ways, from the CLI using the mysqldump command utility tool, or via GUI using phpMyAdmin. Let’s see how can we do a backup via mysqldump.

mysqldump -u <username> -p <db_name> > <db_name>_$(date +%Y_%m_%d-%H:%M).sql

Note(s):

  • -u: Username.
  • -p: Password prompt.
  • Make sure the MySQL username has the required permissions to execute a backup.

Backup and compress a database dump:

mysqldump -u <username> -p <db_name> |  gzip > <db_name>_$(date +%Y_%m_%d-%H:%M).sql

Backup multiple databases:

mysqldump -u <username> -p <db1_name> <db2_name> > <db1_name>_<db2_name>_$(date +%Y_%m_%d-%H:%M).sql

Backup all databases:

mysqldump -u <username> -p --all-databases > all_dbs_$(date +%Y_%m_%d-%H:%M).sql

Backup a specific table:

mysqldump -u <username> -p <db_name> <table_name> > <db_name>_<table_name>_$(date +%Y_%m_%d-%H:%M).sql

Restoring a MySQL database

Restoring a database can be done in multiple ways as well, from the CLI using mysql command utility tool, or via GUI using phpMyAdmin. Let’s see how can we do it from the command line.

mysql -u <user> -p <db_name> < <db_name>_$(date +%Y_%m_%d-%H:%M).sql

Conclusion

As a best practice, automating the backup procedure is a must. Usually, it can be done in multiple ways, although the most common one is by creating a cronjob. Feel free to leave a comment below and if you find this tutorial useful, follow our official channel on Telegram.