
“访问被拒绝:解决用户@'localhost'对数据库的错误访问”`
MySQL用户经常遇到令人沮丧的错误消息“用户''@'localhost'对数据库''的访问被拒绝。”此问题源于不正确的用户权限或配置设置。要解决此问题,请按照下列步骤操作:
验证用户凭据:
- 确保 $dbuser 变量中指定的 MySQL 用户存在。
- 检查用户是否对指定的数据库具有适当的访问权限$dbname.
授予用户权限:
- 使用以下 SQL 命令授予必要的权限:
将database_name.*上的所有权限授予user_name@host_name; - 替换“database_name”为实际数据库名称,“user_name”为 $dbuser 中指定的用户。
- 将“host_name”指定为“localhost”以授予从本地计算机的访问权限。
配置MySQL绑定地址:
- 检查MySQL配置文件(通常名为 my.cnf)设置“bind-address”并修改它以接受来自所有主机的连接:
bind-address = 0.0.0.0 - 重新启动 MySQL 服务以使更改生效效果。
更新代码:
- 修改 PHP 代码,在 mysql_connect() 函数中包含用户名和密码:
mysql_connect($dbhost, $dbuser, $dbpass) 或 die(mysql_error( ));
启用远程访问(如果必需):
- 要允许来自远程主机的访问,请确保 MySQL 服务器正在侦听端口 3306,并且防火墙规则配置为允许该端口上的连接。