MySQL:解决“用户拒绝访问”错误
在创建新的 MySQL 用户并为其授予权限时,您可能会遇到以下错误“用户访问被拒绝”。当用户没有适当的权限或尝试从未经授权的位置连接到数据库时,就会出现此问题。
要解决此错误,请首先验证 grant 语句。确保您提供正确的用户名,并且授予用户需要访问的特定数据库和表的权限。例如,您可以仅授予特定表或架构所需的权限,而不是使用“GRANT ALL ON .”,例如:
GRANT SELECT, INSERT, UPDATE, DELETE ON servname_shbusers.* TO 'servname_shb'@'localhost';
此外,请确保用户正在尝试从允许的主机连接到数据库。默认情况下,MySQL 限制用户访问本地主机。如果用户尝试从不同的主机名或 IP 地址进行连接,您需要明确授予他们该主机的权限,如下所示:
GRANT ALL ON *.* TO 'servname_shb'@'remote-host';
更正授予语句并验证连接后主机,请记得使用命令刷新权限:
FLUSH PRIVILEGES;
这可以确保新权限立即生效。
如果错误仍然存在,请检查用户的密码是否已过期。您可以使用以下语句重置密码:
ALTER USER 'servname_shb'@'localhost' IDENTIFIED BY 'new_password';
请记住,在处理 MySQL 权限时,仅授予必要的权限以限制潜在的安全风险至关重要。
以上是为什么我在 MySQL 中收到'用户访问被拒绝”的信息?的详细内容。更多信息请关注PHP中文网其他相关文章!