Mysql – Error 1044 Access denied to user

MySQLmysql-5.5

This is driving me crazy.

When I try to create a few tables from my Workbench model I get this error 1044.

I've been trying to find a solution but nothing works for me.

Curiously when I run SELECT USER(),CURRENT_USER(); I get two versions of the same user. One is techboy@(an ip address) and the other is techboy@%.

Access is denied to both at one point or another.

The MySql server is a remote hosted server with the user permissions correctly set.

Best Answer

Please keep in mind that when you run

SELECT USER(),CURRENT_USER();

USER() reports how you attempted to authenticate in mysqld

CURRENT_USER() reports how you were allowed to authenticate by mysqld

This means you should run this query

SHOW GRANTS FOR CURRENT_USER();

or just

SHOW GRANTS;

to actually see your credentials. If you run,

SHOW GRANTS FOR USER();

you may not see credentials if they do not exist in mysql.user.

Just try to make the appropriate user on the MySQL Instance.

UPDATE 2013-03-05 16:51 EST

In you comment, you said

Grants shows that 'GRANT USAGE ON . TO \'techboy\'@\'%\' IDENTIFIED BY PASSWORD \'and a character string\'' and 'GRANT ALL PRIVILEGES ON lfc_123awards.* TO \'techboy\'@\'%\' WITH GRANT OPTION'

Since you only have rights to the lfc_123awards database, please make sure you are specifying that database when you connect. If you do not set the default database at authentication, it will not let you connect at all.

Here is what I mean: Let say you trying connecting from the command line

mysql -utechbox -p -hIPofDBServer

This should fail, whereas

mysql -utechbox -p -hIPofDBServer -Dlfc_123awards

should work.