“连接失败:访问被拒绝用户’root’@’localhost'(使用密码:YES)”来自php函数

参见英文答案 > MySQL ERROR 1045 (28000): Access denied for user ‘bill’@’localhost’ (using password: YES)                                    33个
我写了一些php网页使用的函数,以便与mysql数据库进行交互.当我在我的服务器上测试它时,我收到此错误:

"Connect failed: Access denied for user 'root'@'localhost' (using password: YES)" 

我可以在我的电脑上使用它们(使用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");

感谢您的所有时间:)

转载注明原文:“连接失败:访问被拒绝用户’root’@’localhost'(使用密码:YES)”来自php函数 - 代码日志