Backing up and Restoring MySQL with mysqldump

| devops | databases |

I backup and restore databases across servers every few months, but each time I have to resort to reading this very verbose documentation. The steps below are a no fuss way to do this each time.

Backup Server

SSH into the server with the database that you wish to backup run the following command.
mysqldump -u root -p $DB_NAME > $DB_NAME.sql

Copy the File to Destination Server

Using scp, we can securely transfer the backup
scp $DB_NAME.sql $USER@$SERVER:

Restore on Destination Server

SSH into the server with the database that you wish to restore. From the the previous step the backup file should now be located in the root directory.
  1. Create new database
    mysql -u root -p -e 'CREATE DATABASE $DB_NAME'
    
  2. Restore your backup
    mysql -u root -p $DB_NAME < $DB_NAME.sql

Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Happy Holidays 2025

It wasn't the best of times or the worst of times. Well, it might be the worst of times.

via ODonnellWeb December 25, 2025

Clear your calendar, pour a favorite beverage, and immerse yourself into the year in music with reports from Simon Collison and Jon Hicks. Fantastic every year.

via Colin Devroe December 24, 2025

On Friday Deploys: Sometimes that Puppy Needs Murdering

It's the most wonderful time of the year: the pie, the eggnog, the eternal debates over whether deploy freezes cause more harm than good. 🤶🌲

via charity.wtf December 24, 2025

Generated by openring