This article is about moving a running web-environment along with it’s MySQL database from one server to another via SSH.
Compress files
Let’s compress the directory we’re going to move using gzip:
tar cfvz backup.tar.gz /path/
Dump MySQL database content
mysqldump -uUser -p -hlocalhost database_name > dump.sql
You can also dump several databases with mysqldump by addind the --databases or --all-databases parameter.
Moving files
Now we use SCP to move files to our new machine. The following example copies from the old machine:
scp user@host:/path/backup.tar.gz .
The other way round, copying the file to the new machine from the old one would look like this:
scp backup.tar.gz user@host:/path/backup.tar.gz
Do the same with your database dump.
Uncompress files
Simply type:
tar xfvz backup.tar.gzNow we should have the same directory structure we had on our old machine.
Import MySQL database
mysql -uUser --default-character-set=utf8 -hlocalhost -p database_name < dump.sql
If you have international content and an utf-8 environment running don’t forget to pass the charset-parameter!
