我在mysql
中创建了一个名为'somedatabase'的数据库CREATE DATABASE somedatabase;
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword';
但是当我尝试使用php应用程序访问此数据库时,我收到以下错误
“ mysql_connect()[function.mysql-connect]:访问 拒绝用户'someuser'@'localhost'(使用密码:是)“
Mysql查询浏览器允许我使用用户名登录此数据库:someuser和password:somepassword。那么为什么我无法通过应用程序连接到数据库。
php代码:
$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase';
答案 0 :(得分:1)
使用GRANT时,请勿在某些用户周围使用单引号(')。
GRANT ALL ON somedatabase.* TO someuser@'localhost' IDENTIFIED BY 'somepassword';
我还假设你在与MySQL相同的盒子上运行Apache / PHP。
答案 1 :(得分:0)
我有同样的问题。我的问题的解决方案是设置主机,由于某种原因php没有连接任何主机上的用户(%)
答案 2 :(得分:-1)
试试这个: 在某个数据库上授予所有特权。*''someuser'@'%'通过'somepassword'识别;