一尘不染

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

mysql

这个问题已经在这里有了答案

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上


阅读 719

收藏
2020-05-17

共1个答案

一尘不染

我以这种方式解决:我以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");

感谢您的时间:)

2020-05-17