php - "Connect failed: Access denied for user ' root '@' localhost ' (using password: YES)"来自php函数

标签 php mysql access-denied

我编写了一些 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");

感谢大家的宝贵时间:)

关于php - "Connect failed: Access denied for user ' root '@' localhost ' (using password: YES)"来自php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61557075/

相关文章:

php - mysql 按天过滤

mysql - 使用子查询显示具有相同值的多个答案

mysql - MySQL 中何时使用单引号、双引号和反引号

.net - 如何在 WebBrowser Control 中设置当前 document.domain 以避免 "Access is denied"?

MySQL 错误 1045 (28000) : Access denied for user 'bill' @'localhost' (using password: YES)

php - Vagrant - 远程连接到 mysql - 在 vagrant ssh 连接之外

php - 如何在单个数组中获取 php PDO QUERY 结果集而不是嵌套在一个数组中

php - 获取实时 NFL 比分/统计数据以进行阅读和操作?

php - joomla 2.5 根据外部表中的用户 ID 回显用户名

Java.security.Access.ControlException : access denied ("java.io.FilePermission" "[object file]" "read")