MySQL/MariaDB database FAQ: How do I restore a MySQL backup? (Also written as, “How do I restore a mysqldump
file?”)
Assuming that you’ve created a MySQL backup file as shown in my “MySQL backup - How to Backup a MySQL database” tutorial, you can use the commands shown here to restore your MySQL database.
Note: There are several different ways to restore a MySQL database. I think this is the easiest approach, so I show it here.
The MySQL restore process
The process to restore a MySQL database from a backup file created by mysqldump
is a simple two-step process:
- Create a new MySQL database using the mysqladmin utility (or
mysql
command). - Restore your database backup to this new database using one of several possible commands.
Step 1: Create your new database
Assuming you have the root
password for your MySQL database server, you can create a new database with the mysqladmin
command, like this:
mysqladmin -u root -p create mytestdatabase
After you are prompted for the root
password, and successfully enter it, the mysqladmin
utility will create a new database named mytestdatabase
for you. That’s all you have to do to create it.
Note: You can also log into your MySQL server and then use the
CREATE DATABASE
command to perform the same task, if you prefer.
Step 2: Restore the database from the backup file
Next, you can restore your old MySQL database from your backup file using the mysql
command. Here's a command I just used to test the process of restoring a Drupal database backup file I just created with mysqldump
:
mysql -u root -p mytestdatabase < drupaldb-20090505.sql
Warning: Be very careful with this command! In particular, you want to make sure that the database you are restoring to (mytestdatabase
in my case) is empty before you run this command.
In this case I’m using a MySQL backup file named drupaldb-20090505.sql
to restore the contents of that database to my new database, which I named mytestdatabase
.
As mentioned, you can restore your database backup file using several different possible commands, but I think this command is the easiest, and I’ll leave it at that for today.
(Another way to restore the database backup is to log into your database with the mysql
command; then issue the use mytestdatabase
command to work in that database, and then “source” your database backup file.)
In summary, if you wanted to see how to restore a MySQL database backup file, I hope this example is helpful.