-->

Access denied for user 'someuser'@'loc

2019-08-18 01:25发布

问题:

I have created a database by name 'somedatabase' in mysql

CREATE DATABASE somedatabase;  
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword';

but when i try to access this database using php application i get the following error

"mysql_connect() [function.mysql-connect]: Access denied for user 'someuser'@'localhost' (using password: YES)"

The Mysql query browser does allow me to login to this database using username : someuser and password : somepassword. Then why is that i am not able to connect to database through application.

php code :

$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase';

回答1:

Do not use singlequote (') around someuser when using GRANT.

GRANT ALL ON somedatabase.* TO someuser@'localhost' IDENTIFIED BY 'somepassword'; 

I am also assuming that you're running Apache/PHP on the same box as MySQL.



回答2:

I had same problem. the solution of my problem by was setting the host , for some reason php was not connecting for user at any host (%)



回答3:

Try this: GRANT ALL PRIVILEGES ON somedatabase.* TO 'someuser'@'%' IDENTIFIED BY 'somepassword';

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