Let's try some common troubleshooting steps. In 100% of cases we've seen (yes, we really do mean all of them) it's one of the following.
If you are not restoring on the same host as the one you backed up from, if you are transferring a site from a live server to a local server or if you are transferring a site from a local server to a live server you need to ensure the following:
You MUST create a new database BEFORE trying to restore your database. ANGIE can not create a new database unless you are restoring on a local host and using the root credentials. In other words, almost never. As a rule of thumb: always create a database before restoring your site. There are instructions for creating a new database below.
If you are on a cPanel host you have to add the user to the database. Consult your host's documentation about that.
You MUST supply the database connection information of your new host BEFORE clicking on the button. ANGIE will present you with the database connection information of the site you backed up from. These are no longer valid on the new host and you MUST supply the new host's database connection information.
Further to that you DO NOT have to create databases and users on the new to match your old site's information. This is usually the extremely hard way to go. Simply, type in the new host's database connection information in ABI's interface BEFORE clicking on the
button.First try toggling between the mysql (no trailing i) and mysqli (with a trailing i) database drivers. Some hosts support both, most hosts support only one or the other.
Then check your database host name. It's not always localhost. Some hosts use an IP address (e.g. 1.2.3.4) others use a full domain name (i.e. mysql.myhost.com). If in doubt, please ask your host.
One very picky case is using MAMP on Mac OS X. Using localhost will not allow you to connect to your database. Using 127.0.0.1 will work! The reason is that PHP treats these two values differently. Using localhost instructs PHP to use "named pipes" to access the MySQL server. Unfortunately, MAMP can't provide this feature. Using 127.0.0.1 instructs PHP to use TCP/IP networking which what MAMP supports. This trick may also work on a live host, try it!
If your site is hosted on GoDaddy, other users have reported that the actual database server name is hidden in a small footnote on the bottom of the page where it displays the list of databases. If in doubt, contact GoDaddy's support. If you can't get an answer, tell to the support person (an underpaid, misinformed, script reading youngster overseas) that you want to "escalate this issue". After a short while you will be connected to a "real" support technician who can help you.
Check your database name. Hosts based on cPanel and Plesk, as well as GoDaddy, prefix the database name with your account name. For example, if your user account name on the host's server is "foo" and you try to create a database named "bar" the real database name is "foo_bar", not just "bar"! Do note that this prefix has nothing to do with the table name prefix (e.g. jos_) used by Joomla!. If in doubt, ask your host.
Check your username. The same principles with the database name apply, i.e. those hosts will prefix the database username with your account's name, e.g. myuser_mydatabase. If in doubt, ask your host.
Check your password. Many servers will not work with password which contain special characters (e.g. at sign, hash, dollar sign, percent sign, caret, ampersand, start, parentheses, equals sign, etc). The best approach is to make sure that your password consists only of alphanumeric characters, i.e. a-z, A-Z and 0-9, don't use any accented characters or characters with diacritic marks.
This is not a limitation or bug in Akeeba Backup Installer. The problem comes from the host's Apache setup, namely the mod_security2 rule set. Such servers are set up to filter potentially dangerous and suspect query parameters. A password with special characters like a hash sign, dollar sign, percent sign, caret and star will most likely trigger that protection, throwing a 406 (Not Accepted) error. Since most servers do not have a server error document for the extremely rare 406 error, you also get a 404 error (Not Found) when Apache tries to retrieve the error document for the real error, the 406 error. Of course, all of that makes it completely impossible for a regular human to figure out what is going on and think that it is a bug in Akeeba Backup Restoration Script. It's not. We'd like to sincerely thank the engineers at Rochen who helped us troubleshoot this issue and confirm that it's not a bug in our code.
If you have created your database and user on a cPanel host (e.g. Rochen) this is not sufficient to connect to it. You also have to add the user to the database. Otherwise your server doesn't know that the username you are using should be able to access your database. This is an often overlooked step. Yours truly confesses that he is doing the same mistake every time he's restoring a site on a cPanel host.
Finally, if you had created your backup archive with Akeeba Backup 3.0.x or if you are unsure about the version of Akeeba Backup which created the archive, please try using a database password which consists only of unaccented alphanumeric characters (a-z, A-Z and 0-9, no accents, umlauts, tildes or other decorations).
Please do not ask us for support regarding this matter if you have not gone through this list very carefully at least twice. All the possibilities are listed above.
If you are a subscriber and have gone through the above list at least twice and it still doesn't work, please file a ticket in our ticket system indicating that you have gone through the list of this page and mentioning all of the following information:
Akeeba Backup version number ("latest" is not a version number; something like 1.2.3 is)
Exact PHP version number
Exact MySQL version number
Be advised that you may have to tell us the password you tried to use.
If you're on GoDaddy, just like on most commercial hosts, Akeeba Backup Restoration Script can not automatically create the database for your restored site. In order to create a database you must do the following:
Go to your Hosting Control Center
Click on Databases, then MySQL and finally on Create Database.
Fill in your description, name, etc.
Click on OK
Go back to MySQL.
The new database will be there or if you keep adding them there will be more than one.
Hover of the "Pencil" on the Action Tab and then click the pencil. All the MySQL Database Information will now appear here. You fill in the Akeeba Installation field with this info so make a note of it.
When you come to install the Akeeba Backup installation fill in the details from it. Don't forget to replace localhost with the new godaddy host name: similar to this: yourakeebanamehere.db.12345.hostedresource.com.
Credits go to our user jcjweb for kindly providing this step-by-step guide on our ticket system.
If your server is using cPanel, here's what you have to do:
First, login to your CPanel account. If you don’t have your username and password, you’ll need to contact your web hosting provider.
Once you’ve logged in, select MySQL databases from the list.
Type in a name for your new database and click the
button.Then, type in a Username and a Password into the relative fields and click the
button.Once your Database and User have been created, you need to give that user permission to use that database. We do this by selecting the username we created from the drop down and the database we created from the drop down, making sure the All checkbox is selected and clicking the option.
The last thing you will need is the MySQL server hostname. If this hasn’t been supplied to you by your web host, you can get it from the MySQL databases page.
Important | |
---|---|
Note that the Username and Database will be prepended with your Cpanel login name. For example, if you created a database called DB and your cpanel login was mysite then your new database will be mysite_db. |
Credits: These instructions were adapted from a blog post at Interspire
If your server is using Plesk, here's what you have to do
First navigate to the hosting control panel for the domain that you want to create the new MySQL database for.
Click on the
icon.Click on
.You will be asked to enter the following details:
Database name. This is the name that you want to give the actual database, Plesk suggests that you begin the database name with your Plesk login followed by an underscore, it is after the underscore that you should enter the desired database alias.
Database type (may not be available on your host). This is where you select what database program you want the new database to be created in, if there is no more than one option then this field will not be shown – in the cases of Windows based Plesk website hosting, you are able to choose between MySQL and MSSQL databases, although the options are dependent on what database engines your web host has installed on your hosting server and what options they have enabled within their Plesk license. You MUST create a MySQL database for Joomla! to be restored to.
After clicking the OK button after entering the relevant details, you will be redirected to the management screen for the database that you have just created. In order to make your database usable from Joomla!, you will need to select the
button.You will then be prompted to enter the following details:
Database username. This is the username that you will use to gain access to your newly created database
Password. Enter your desired password here.
Credits: These instructions were adapted from a blog post at EUKHOST
Google is your friend. Here's a good tutorial I came across by searching on Google: http://complete-concrete-concise.com/web-tools/creating-a-mysql-database-using-xampp
Even though the instructions are for XAMPP, it's the same thing for all local servers, as they're all using phpMyAdmin to administer the MySQL database.