这个问题已经在这里有了答案 :
MySQL错误1045(28000):拒绝用户’bill’@’localhost’的访问(使用密码:是) (37个答案)
去年关闭。
我编写了php网页使用的一些函数,以便与mysql数据库进行交互。当我在服务器上测试它们时,出现此错误:
"Connect failed: Access denied for user 'root'@'localhost' (using password: YES)"
我可以在我的PC上使用它们(使用XAMPP),并且可以使用服务器中的命令行浏览数据库的表。但是,网页无法连接。我检查了密码,但没有结果。是正确的(否则我无法从命令行登录mysql)。
该函数的调用如下:
$conn = new mysqli("localhost", "root", "password", "shop");
我必须在服务器中设置一些内容吗?谢谢
编辑:PHP版本5.3.3-7 + squeeze1 mysql版本:5.1.49-3都在debian上
我以这种方式解决:我以root用户名登录
mysql -u root -p -h localhost
我创建了一个新用户
CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
然后我创建了数据库
CREATE DATABASE shop;
我为此数据库的新用户授予了特权
GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
然后我注销root并登录新用户
quit; mysql -u francesco -p -h localhost
我使用脚本重建了数据库
source shop.sql;
就是这样..现在从php调用时不会出现问题
$conn = new mysqli("localhost", "francesco", "some_pass", "shop");
感谢您的时间:)