Migrate MySQL database between two servers

Many times we need to clone/transfer database from one server to another. Whenever we are moving projects to new server from old server we need to copy files between to servers. SCP (Secure Copy) command is used to transfer files between two servers. In this tutorial you are going to learn to migrate MySQL database between two servers by using SCP command.

Prerequisites

Before you start to migrate MySQL databases between two servers. You must have the non-root user account on both of your servers with sudo privileges.

Migrate Database between two servers

First you will need to backup the database then transfer it remotely to destination server and finally you will restore backup on destination server.

To backup the database enter following command.

sudo mysqldump -u root -p --opt [database_name]> [database_name].sql

Example:

sudo mysqldump -u root -p --opt test_database > test_database.sql

Copy backup file to destination server by using following command.

sudo scp [database_name].sql [user_name]@[server_name]:path/on/destination/

Example:

sudo scp test_database.sql [email protected]:/temp/backup/

Import backup file on destination server.

sudo mysql -u root -p database_name < /path/to/database_name.sql

Example:

sudo mysql -u root -p test_database < /temp/backup/test_database.sql

Useful Commands

To backup database on remote server using port and host. Use following command.

sudo mysqldump -P [port]-h [host]-u [user_name]-p [database_name]> database_name.sql

To backup multiple databases, Use following command

sudo mysqldump -u [user_name]-p --databases [database_name1] [database_name2] > databases.sql

To import multiple databases on destination server.

sudo mysql -u root -p < databases.sql

Backup all the databases, enter following command.

sudo mysqldump -u [user_name]-p --all-databases > databases.sql

When you need to backup specific database tables then use following command.

sudo mysqldump -u [user_name]-p [database_name][table1] [table2] > database_name.sql

Conclusion

You have successfully learned to migrate MySQL databases between two servers by using SCP command. If you have any queries regarding this then dont forget to comment bellow.