为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕后森 2019-07-17 16:11:37
“连接失败:用户‘root’@‘localhost’(使用密码:YES)的访问被拒绝”来自php函数为了与MySQL数据库进行交互,我编写了php网页使用的一些函数。当我在服务器上测试它们时,我会得到以下错误:"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+挤压1 MySQL版本:5.1.49-3,都在Debian上
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我以这样的方式解决了问题:我使用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';

然后我退出根目录并登录新用户。

quit;mysql -u francesco -p -h localhost

我用脚本重建了我的数据库

source shop.sql;

就这样.。现在,从php开始工作,调用没有问题。

 $conn = new mysqli("localhost", "francesco", "some_pass", "shop");

谢谢你的时间:)


查看完整回答
反对 回复 2019-07-17
?
慕森卡

TA贡献1806条经验 获得超8个赞

DB中是否有root@localhost的用户帐户条目?在MySQL中,可以通过主机设置不同的用户帐户权限。可能有几个具有相同名称的不同帐户与它们连接的主机相结合。最常见的是root@127.0.0.1和root@localhost。它们可以具有不同的密码和权限。确保root@localhost存在并具有您期望的设置。

根据你的解释,我敢打赌这就是问题所在。从另一台PC连接使用与root@localhost不同的帐户,我认为命令行使用root@127.0.0.1连接。


查看完整回答
反对 回复 2019-07-17
  • 3 回答
  • 0 关注
  • 3725 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信