Friday, November 14, 2014

How to import a MySQL Database using phpMyAdmin

How can I import a database?

  1. Log into your Bluehost Control Panel.
  2. Navigate to the "Databases" section, and select "phpMyAdmin."
  3. Example Image
  4. Log in with your cPanel username and your MySQL password
    Note: The Master MySQL Password can be set from the "Reset MySQL Password" tool in the same "Databases" category.
  5. In phpMyAdmin you will see a list of your databases on the left side. Select the database you would like to import to.
  6. Once the database is selected, click the "Import" tab at the top.
  7. In this sub-section, a "browse" button will appear. Select this, and choose the desired .sql file on your PC.
  8. After you have selected the file, click "Go" at the bottom right; it will import your .sql file for you.
Note: The maximum size for a sql upload via phpMyAdmin is 50MB. For larger databases please either split the database before importing, or import via SSH, as described here. Alternatively, you may upload it your account's "home" directory, then contact Support via telephone or AliveChat to have us import it for you.

Common Issues

Your import file is too large!
You will know this is the case when phpMyAdmin times out. (It will timeout after 30 seconds of attempting to import.)
If you experience this timeout, please upload the database backup file to your Bluehost account and Create a Ticket with the details. Our administrators will perform the import for you.
For security reasons, it's best to upload your database to the /home/USERNAME section of your account. (Replace USERNAME with your cPanel username.)
#1044 - Access denied for user 'username1'@'localhost' to database 'user2_wrdp9'
The problem here is your import file contains an SQL query that attempts to create a database for the wrong username. Notice the user2 in 'user2_wrdp9' does not match the username1 in 'username1'@'localhost'. Someone must edit the import file and change the old user2 to your new username1. Here is an example of what it looks like (notice 3 places where the username is outdated):
Database: `user2_wrdp9`CREATE DATABASE `user2_wrdp9` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;USE `user2_wrdp9`;
#1044 - Access denied for user 'username1'@'localhost' to database 'wrdp9'
Same as the previous issue; the correct username is missing. On a shared sever, your database names must always look like exampleuser_exampledatabase.
#1049 - Unknown database 'username1_wrdp9'
The problem is your import file does not have a query to create the database before importing the data. Simply go to cPanel > MySQL Databases and create a database with that name (in my example, "wrdp9"). Then re-attempt your import.
#1007 - Can't create database 'username1_wrdp9'; database exists
The problem here is your import file contains an SQL query that attempts to create a database that already exists. If the database is empty, simply go to cPanel > MySQL Databases and remove that empty database; then re-attempt your import. If the database is not empty, someone must edit the import file and remove the CREATE DATABASE query. Here is an example of what it looks like:
CREATE DATABASE `username1_wrdp9` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...
The file does not contain backup data for a database, or the file has been changed or corrupted.

Less Common Issues

ERROR 1044 (42000): Access denied for user 'username1'@'localhost' to database 'username1_wrdp9'
If you get this error, you do not have privileges on user_* to use Create. Bluehost will need to correct this issue for you.
However, if you need to import now, and can't wait, here is a work-around.
The problem here is your import file contains at least one SQL query that attempts to create a database, and you do not have the privilege to do so. Someone must edit the import file and remove the CREATE DATABASE query. (If you do not feel comfortable editing your import file, we will be glad to help you do that.) Here is an example of what it looks like:
CREATE DATABASE `username1_wrdp9` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
After you remove this code, you must go to cPanel and click the MySQL Databases icon. Here you must create your database with the name which was removed from the import file (in my example, "wrdp9"). Then you can Import the modified import file and it will work.

No comments:

Post a Comment