“连接失败:访问被拒绝用户’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");

感谢您的所有时间:)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...