How to allow user to login to MySQL?

John picture John · Mar 9, 2010 · Viewed 24.4k times · Source

As a root mysql user, I executed the following:

grant all on mydb.* to john identified by 'john1';

Then from shell, I tried to login via

mysql -h localhost -u john -pjohn1;

But when I do this, I get the error

ERROR 1045 (28000): Access denied for user 'john'@'localhost' (using password: YES)

How do I allow john to login to the mysql terminal? Do I need to use the root mysql user to change something in the mysql.user table?

Thanks

Answer

adamJLev picture adamJLev · Mar 9, 2010

Try

GRANT ALL PRIVILEGES on mydb.* to 'john'@'localhost' identified by 'john1';

Or maybe the problem is because you're not specifying the schema. Add "mydb" to the end of your login console command:

mysql -h localhost -u john -pjohn1 mydb

Docs: http://dev.mysql.com/doc/refman/5.1/en/adding-users.html