我在mysql中创建了一个名为'somedatabase'的数据库
CREATE DATABASE somedatabase;
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword';
但是当我尝试使用PHP应用程序访问这个数据库时,我得到以下错误
" mysql_connect()函数。mysql连接]:访问用户'someuser'@'localhost'被拒绝(使用密码:YES)
Mysql查询浏览器允许我使用用户名:someuser和密码:somepassword登录这个数据库。那么为什么我不能通过应用程序连接到数据库呢?
php代码:$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase';
使用GRANT时不要在某些用户周围使用singlequote (')
GRANT ALL ON somedatabase.* TO someuser@'localhost' IDENTIFIED BY 'somepassword';
我也假设你在同一个机器上运行Apache/PHP MySQL
我也有同样的问题。我的问题的解决方案是设置主机,由于某些原因PHP没有连接用户在任何主机(%)
试试这个:授予某些数据库的所有权限。* TO 'someuser'@'%' IDENTIFIED BY 'somepassword;
http://dev.mysql.com/doc/refman/4.1/en/adding-users.html