If you are moving away from a host who does not give you cPanel, then the only way to move your site is by uploading and downloading the files manually with a tool such as FTP. You can also request a.CSV or .SQL backup of your databases. You need to contact your soon-to-be-ex hosting company for detailed instructions.
If you are moving from a host who uses cPanel to another cPanel account, please follow these instructions:
- Login to your cPanel and click the "Backup" icon.
- Click the "Download or Generate a Full Backup" button. This will backup all of your email accounts, files, and MySQL databases.
- Leave the drop-down on Home Directory and be sure to have a valid email address in the second box. Leave the remaining boxes empty.
Here you will put the remote server's IP address or your destination server's IP address and Your remote server's Username, Password and use port number as 21.
Then if you want to save this backup to your destination server's root then just put "/" and if you want to save in any directory, then put here the directory after /.
- Click the "Generate Backup" button and wait for an email confirmation to arrive.
Congratulations, you have backed up your entire site and it is now time to restore your site at your new Eicra account.
- Open the email which confirms your backup. Inside it tells you the name of your backup file.
- Head to eicra.com/restore.php and submit the form. We need to know the name of your backup file, and please tell us the file is saved in your Home directory.
- Wait for a reply from our administrators that the task is complete.
- Once we reply, check our work by visiting your temporary URL. (Some sites will not be fully functional when using this temporary URL.) To make the site 100% functional, you must change the nameservers of your domain to the name servers Eicra.com provides in your welcome email.
All done! You may repeat this process for any more sites you wish to move.
Getting your database to work after restoring it
After you have restored your database, you might get an error when trying to view your webpage. Examples:
Error establishing a database connection
Warning: mysql_connect(): Access denied for user: 'user1_name1@localhost' (Using password: YES) in /home/joe123/public_html/catalog/includes/functions/database.php on line 19
Unable to connect to database server!
What this means is that your database now exists in cPanel, but your website cannot communicate with it. Now is time to assign a database username and reconfigure your website's database settings.
- Login to your cPanel and click the "MySQL Databases" icon.
- Scroll down till you see MySQL Users > NewUser.
- The username can be anything you want. For this example, we will choose gatorboy.
- Pick any random password. You won't need to commit this to memory, so go nuts. For this example, nvGHdCC0dCMz can be our database password. Copy the password and keep it ready. Now enter the password twice and then press the "Create User" button.
The user has now been added, but it has not been assigned to a database.
- In the same area under MySQL Users, you will see a second section called Add User To Database.
- Choose the username you just created from the drop down. (Notice that cPanel will automatically prepend your database name with your cPanel username. For this example, we get joe123_gatorboy.) Copy this username and keep it ready.
- Next, choose the name of your database and click the "Submit" button. If you don't know which database name to use, skip this step for now.
Now you need to locate your database configuration file.
- If you have a general error message like the first example, then use our config files article to determine the location.
- If you have a specific error message like the second example, then the error tells us the location. In our example, the error says "in /home/joe123/public_html/catalog/includes/functions/database.php on line 19". That is where you need to go.
It is finally time to reconfigure your website's database settings.
- Go to the configuration file and choose to Edit.
Look in the code for a place where your database name is defined. Here is the example of what we see:
- define('DB_NAME', 'user1_wrdp1');
- define('DB_USER', 'user1_name1');
- define('DB_PASSWORD', '5Jmfde%53L');
- define('DB_HOST', 'localhost');
The database name is very important; it must have your new cPanel name in the first part. Update the part before the underscore, but change nothing after the underscore. Example:
- define('DB_NAME', 'joe123_wrdp1');
- If you skipped step 3 while assigning the user to the database, you must go back and complete that step. The value you have for your database name is the correct name to choose in the second drop down. (Don't forget to click Submit.)
Next, get the database username and password you set aside and replace the ones in the file. Example:
- define('DB_USER', 'joe123_gatorboy');
- define('DB_PASSWORD', 'nvGHdCC0dCMz');
- This is the last time you will need this username and password, so you don't need to keep a copy anymore.
- The hostname is always 'localhost', so make that change if needed.
- Save the file and you are done! Refresh your webpage to see if it works.
Eicra.com will always help you solve a database connection error, so please contact us via live chat or phone if you still have problems.