This page will assist you with troubleshooting a MySQL - 1044 "Access Denied" Error Message.  A MySQL denial error sometimes occurs when a database is imported through phpmyadmin.

1044 Access Denied Error Resolution

When you import a database using phpMyAdmin, normally you do so by importing a text file with a .sql extension. Here is a section of code that may be in a .sql database backup. In this example, the database we are trying to import is named employees.

-- phpMyAdmin SQL Dump
-- version 2.11.9.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Apr 02, 2010 at 08:01 AM
-- Server version: 5.0.81
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE DATABASE employees;
-- --------------------------------------------------------
--
-- Table structure for table `employee_list`
--

CREATE TABLE IF NOT EXISTS `employee_list` (
`first_name` text NOT NULL,
`last_name` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

When using phpMyAdmin to attempt to import such a file, you will receive an error message similar to:

Error

SQL query:

CREATE DATABASE employees;

MySQL said: Documentation
#1044 - Access denied for user 'training'@'localhost' to database 'employees'

In this scenario, the cPanel username is "training." Because of cPanel's database naming conventions, all database names must begin with the cPanel username followed by an _.  Using this format you can only creat a database named training_employees.

The reason this import failed is because of the following line in the .sql file (show above)

CREATE DATABASE employees;

Again, you cannot create a database named employees, however I can create a database named training_employees.

If I change the line that says: CREATE DATABASE so that it creates: training_employees instead of employees it will again fail with the following message:

Error

SQL query:

CREATE DATABASE training_employees;

MySQL said: Documentation
#1044 - Access denied for user 'training'@'localhost' to database 'training_employees'

When using cPanel, databases must be created within the cPanel itself.

Here are the steps to correct thi sissue:

1. Create the training_employees database within cPanel
2. Comment out the CREATE DATABASE command in my .sql file

To do this, simply change:

CREATE DATABASE employees;
to
-- CREATE DATABASE employees;

You are simply adding dash dash space to the front of the line to comment it out so that it will not be executed.

3. Log into phpMyAdmin, access the training_employees database, and then import as normal.

Did you find this article helpful?

We value your feedback!

Why was this article not helpful? (Check all that apply)
The article is too difficult or too technical to follow.
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
How did you find this article?
Please tell us how we can improve our Help Center:
Email Address
Optional, but our team may contact you for more information.
Did you find this article helpful?

Post a Comment

Name:
Email Address:
Comment:
Are you a bot?
Submit

Please note: Your name and comment will be displayed, but we will not show your email address.

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!

Help Center Search

Current Customers

Email: support@WebHostingHub.com Ticket: Submit a Support Ticket
Call: 877-595-4HUB (4482)
757-416-6627 (Intl.)
Chat: Click To Chat Now

Ask the Community

Get help with your questions from our community of like-minded hosting users and Web Hosting Hub Staff.

Not a Customer?

Get web hosting from a company that is here to help.