尝试时发生此错误从特定用户和主机访问数据库,但由于凭据无效或缺少用户而被拒绝权限。
1.数据库用户存在
验证指定用户(“test2”)是否存在于 MySQL 数据库中。运行以下查询:
SELECT user, host FROM mysql.user;
查找“user”为“test2”且“host”为“localhost”或通配符(“%”)的行,如错误消息中所示。
2。密码验证
如果数据库用户存在,请检查密码是否与连接请求中使用的密码匹配。如有必要,请更改密码:
SET PASSWORD FOR 'test2'@'localhost' = PASSWORD('new_password');
1.检查权限
确认数据库用户对所需数据库对象拥有足够的权限。例如,要授予“jobs”数据库的 SELECT 权限:
GRANT SELECT ON jobs.* TO 'test2'@'localhost';
2.刷新权限
修改权限表后,执行FLUSH PRIVILEGES语句使更改生效:
FLUSH PRIVILEGES;
1.主机不匹配
确保连接请求中指定的主机(“localhost”)与数据库中与用户关联的主机匹配。将主机更改为“localhost”或“%”。
2.防火墙阻止
暂时禁用防火墙以检查它是否阻止了指定端口上对 MySQL 的访问。如有必要,请调整连接请求中的端口。
3.用户名或密码错误
仔细检查连接请求中使用的数据库用户名和密码。
以上是如何解决 MySQL 错误 1045:访问被拒绝?的详细内容。更多信息请关注PHP中文网其他相关文章!