How to Back Up & Restore a MySQL Database

October 22, 2018

Introduction

It is essential to important to make regular backups of all data in case of loss. Has your MySQL database has been lost, and you’re scrambling to restore a copy from your last backup?

In this tutorial, we present two easy ways to back up and restore your MySQL Database.

how to back up and restore mysql databases

Prerequisites

  • A Linux operating system
  • MySQL installed
  • An existing database
  • Mysqldump utility (should be included with your MySQL software)

Back Up from the Command-Line with mysqldump

The mysqldump client utility can dump a database including the SQL statements required to rebuild the database.

By default, the dump file includes the SQL commands to restore the tables and data.

To back up your MySQL database, the general syntax is:

sudo mysqldump -u [user] -p [database_name] > [filename].sql
  • Replace [user] with your username and password (if needed).
  • The [database_name] is the path and filename of the database.
  • The > command specifies the output.
  • [filename] is the path and filename you want to save the dump file as.

Other examples:

To back up of an entire Database Management System:

mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p

To include more than one database in the backup dump file:

sudo mysqldump -u [user] -p [database_1] [database_2] [database_etc] > [filename].sql

How to Restore MySQL with mysqldump

Step 1: Create New Database

On the system that hosts the database, use MySQL to create a new database.

Make sure you’ve named it the same as the database you lost. This creates the foundation file that mysqldump will import the data into. Since the dump file has the commands to rebuild the database, you only need to create the empty database.

Step 2: Restore MySQL Dump

To restore a MySQL backup, enter:

mysql -u [user] -p [database_name] < [filename].sql

Make sure to include [database_name] and [filename] in the path.

It’s likely that on the host machine, [database_name] can be in a root directory, so you may not need to add the path. Make sure that you specify the exact path for the dump file you’re restoring, including server name (if needed).

Using phpMyAdmin to Back Up or Restore MySQL

If you’re running phpMyAdmin backing up and restoring your MySQL database is simple.

The export function is used as a backup, and the import function is used to restore.

Step 1: Create a MySQL Database Backup

1. Open phpMyAdmin. On the directory tree on the left, click the database you want to back up.

This should open the directory structure in the right-hand window. You’ll also notice that, in the directory tree on the left, all the assets under the main database are highlighted.

2. Click Export on the menu across the top of the display.

You’ll see a section called “Export Method.” Use Quick to save a copy of the whole database. Choose Custom to select individual tables or other special options.

Leave the Format field set to SQL, unless you have a good reason to change it.

3. Click Go. If you select Quick, your web browser will download a copy of the database into your specified downloads folder. You can copy that to a safe location.    

Step 2: Clear the Old Database Information  

It’s important to clear out old data before restoring a backup. If there’s any old data, it isn’t overwritten when you restore. This can create duplicate tables, causing errors and conflicts.

1. Open phpMyAdmin, on the navigation pane on the left, choose the database you want to restore.

2. Click the check all box near the bottom. Then, use the drop-down menu labeled With selected to select Drop.

3. The tool should prompt you to confirm that you want to go forward. Click yes.

This will get rid of all the existing data, clearing the way for your restoration.

Step 3: Restore Your Backed up MySQL Database

In phpMyAdmin, the Import tool is used to restore a database.

1. On the menu across the top, click Import.

2. The first section is labeled File to import. A couple of lines down, there’s a line that starts with “Browse your computer,” with a button labeled Choose File. Click that button.

3. Use the dialog box to navigate to the location where you’ve saved the export file that you want to restore. Leave all the options set to default. (If you created your backup with different options, you can select those here.)

4. Click Go.

Conclusion

Now you know how to back up and restore a MySQL Database using phpMyAdmin or mysqldump.

Hopefully, you only need this article to show you how to export a database in phpMyAdmin. But even if you’re not that lucky, it’s a fairly simple task to back up or restore.

If you want to learn more about how to perform regular MySQL backups, check out our article about setting up master-slave replication in MySQL. And to learn about different ways to analyze and repair a database, make sure to read our article on how to repair MySQL database.

Was this article helpful?
YesNo
Dejan Tucakov
Dejan is the Head of Content at phoenixNAP with over 8 years of experience in Web publishing and technical writing. Prior to joining PNAP, he was Chief Editor of several websites striving to advocate for emerging technologies. He is dedicated to simplifying complex notions and providing meaningful insight into data center and cloud technology.
Next you should read
Install and Get Started with MySQL Workbench on Ubuntu 18.04
October 22, 2018

Workbench is a visual tool for managing MySQL databases . Its graphical interface allows administrators and
Read more
How To Set Up MySQL Master Slave Replication
May 29, 2019

In cloud computing, master-slave data replication refers to storing the same information on multiple servers.
Read more
How to Rename a MySQL Database
May 6, 2019

As an administrator, you may need to rename a database. However, for security, the command to rename
Read more
How to Install MySQL 8.0 in Ubuntu 18.04
December 12, 2018

MySQL is an open-source relational database server tool for Linux operating systems. It is widely used in
Read more