April 17, 2010

[SOLVED] Copy MySQL database from one server to another remote server


Usually you run mysqldump to create database copy:
$ mysqldump -u user -p db-name > db-name.out


Copy db-name.out file using sftp/ssh to remote MySQL server:
$ scp db-name.out user@remote.box.com:/backup


Restore database at remote server (login over ssh):
$ mysql -u user -p db-name < db-name.out



How do I copy a MySQL database from one computer/server to another?


Short answer is you can copy database from one computer/server to another using ssh or mysql client.


You can run all the above 3 commands in one pass using mysqldump and mysql commands (insecure method, use only if you are using VPN or trust your network):
$ mysqldump db-name | mysql -h remote.box.com db-name


Use ssh if you don't have direct access to remote mysql server (secure method):
$ mysqldump db-name | ssh user@remote.box.com mysql db-name


You can just copy table called foo to remote database (and remote mysql server remote.box.com) called bar using same syntax:
$ mysqldump db-name foo | ssh user@remote.box.com mysql bar





Source: Copy MySQL database from one server to another remote server.

2 comments:

  1. Worked perfect. Thanks.

    ReplyDelete
  2. Good info. Lucky me I recently found your blog by chance (stumbleupon). I've book-marked it for later!

    ReplyDelete