问题:
尝试时远程连接MySQL服务器时,用户遇到错误“Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL”服务器”,尽管在数据库中拥有适当的用户权限。
可能的原因:
此错误通常源于安全预防措施或错误配置的用户权限。
解决方案:
1.添加新管理员帐户:
创建具有受限访问权限的专用管理员帐户:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> WITH GRANT OPTION;
2.修改现有用户权限:
编辑现有“root”用户的用户权限,授予其较少的权限并限制对特定主机的访问:
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%'; mysql> GRANT SELECT, UPDATE ON table_name TO 'root'@'specific_ip';
3.删除通配符权限:
删除数据库中包含通配符 (%) 或 (_) 的任何用户条目。将它们替换为特定的主机值。
4.刷新权限:
对用户权限进行任何更改后,请记住发出 FLUSH PRIVILEGES 语句来刷新授权表:mysql> FLUSH PRIVILEGES;
注意:
通常不建议授予过多的权限(例如,ALL. 上的权限)只需要有限访问的用户。考虑仅授予其特定角色所需的最低权限。
以上是为什么我会收到'不允许连接主机'xxx.xx.xxx.xxx'”MySQL 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!