Here are the detailed steps how to successfully move a complete Drupal installation from one host to another.
The documentation on drupal.org is not necessarily clear, here are the exact steps how to move a complete site including your drupal mysql database.
Migrating Drupal On your OLD host:
- Backup your whole home directory from your ftp access using an ftp client like filezilla. Make a folder on your local harddisk and download the complete directory to that local folder.
- Backup your mysql database on your old host using phpadmin, select your mysql database, usually something like "name_drpl1". Select all fields, click "export" and save the database to your local harddisk. Leave default options enabled. You will receive a file similar to "name_drpl1.sql".
This is your mysql database
On your NEW host:
- Upload your folder with the complete drupal installation to your home-directory.
- Once done, go to cPanel -> MySQL on the new host, create a new mysql database, example "name_drpl1" and create a new mysql user. Create a password for this new mysql user, click "assign all privileges" to this user and assign the user to the new database.
You now should have a new mysql database on the new host with a mysql user, eg. "name_drpl1" as database name and "name_username" as database user name. - Import (upload) the database (which you exported from the old host earlier) with phpMyAdmin to the new database. This might take a minute.
- If needed edit the file [drupal home]/sites/default/settings.php and edit at the section where you enter the database, location, username and password. You CAN enter the password either encrypted or not encrypted there.
- Chmod your "files" folder so it is writeable using your ftp client (filezilla), chmod to 755
- Double check your .htaccess and [drupal home] /sites/default/settings.php and make changes in case they are needed.