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.
- Create new database
mysql -u root -p -e 'CREATE DATABASE $DB_NAME'
- Restore your backup
mysql -u root -p $DB_NAME < $DB_NAME.sql