错误:#1045 - 用户 'root'@'localhost' 访问被拒绝(使用密码:YES)
问题
用户遇到尝试使用 root 用户和密码(通常通过 MySQL 控制台或 phpMyAdmin)连接到 MySQL 时出现访问拒绝错误。配置文件 config.inc.php 配置了正确的凭据,但登录仍然失败。
解决方案
要解决此问题,请按照以下步骤操作:
-
更改Root密码:
使用命令提示符运行mysql -u root -p以root用户连接MySQL。如果提示输入密码,请输入您现有的密码,如果 config.inc.php 中的 AllowNoPassword 选项设置为 true,则将其留空。
-
更新密码:
连接后,执行以下命令更新 root 密码:
UPDATE mysql.user SETauthentication_string=PASSWORD('MyNewPass') WHERE User='root';
将 'MyNewPass' 替换为您的新密码。
-
编辑 config.inc.php:
使用新密码更新 config.inc.php 的服务器部分中的密码字段:
$cfg['Servers'][$i] ['password'] = 'MyNewPass';
-
重新启动 MySQL 服务:
停止然后重新启动 MySQL 服务。
-
验证连接:
尝试使用更新后的密码再次登录MySQL。
附加说明
- 如果使用MySQL 5.7版本或更高版本,应使用authentication_string而不是 SQL 更新命令中的密码。
- 如果问题仍然存在,请验证 MySQL 服务是否正确运行,并且没有防火墙或防病毒限制阻止连接。
- 考虑创建单独的使用 phpMyAdmin 的权限有限的用户,而不是使用 root 用户。
以上是为什么我在以 root 身份连接到 MySQL 时收到'访问被拒绝”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!