解决 PHP 函数中的“连接失败:用户 'root'@'localhost' 访问被拒绝(使用密码:YES)”错误
使用PHP连接MySQL数据库时,用户可能会遇到“连接失败:用户'root'@'localhost'访问被拒绝(使用密码:YES)” 错误。尽管正确设置密码并从命令行访问数据库,仍然可能出现此问题。
解决方案
要解决此问题,可以采取以下步骤:
-
以 root 身份登录用户:
- 使用 mysql -u root -p -h localhost 以 root 用户身份登录 MySQL。
-
创建新用户:
- 创建一个有限的新用户特权。例如: CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
-
创建数据库:
- 为用户创建数据库。例如:CREATE DATABASE shop;
-
授予权限:
- 授予新用户数据库权限。例如:授予商店所有权限。* TO 'francesco'@'localhost';
-
注销并重新登录:
- 注销 root 帐户并返回到新用户帐户。使用退出;注销并以新用户身份登录 mysql -u francesco -p -h localhost。
-
重建数据库:
- 使用脚本重建数据库,例如source shop.sql.
-
在 PHP 中连接:
- 在 PHP 函数中,使用新的用户凭据进行连接到数据库。示例: $conn = new mysqli("localhost", "francesco", "some_pass", "shop");
按照以下步骤,即可连接到 MySQL PHP 函数中的数据库应该可以解决访问被拒绝的问题。
以上是为什么我的 PHP 代码在连接 MySQL 时会出现'访问被拒绝”的情况,即使 root 用户可以工作?的详细内容。更多信息请关注PHP中文网其他相关文章!