Host '192.168.5.221'is not allowed to connect to this MySQL server
时间: 2025-01-07 12:05:54 浏览: 4
### 解决 MySQL 连接错误 'Host '192.168.5.221' is not allowed to connect'
当遇到此错误时,意味着客户端尝试连接到MySQL服务器被拒绝。通常是因为权限设置不正确或主机未授权访问数据库。
#### 方法一:更新 `user` 表中的 `host`
为了允许特定 IP 地址(如 192.168.5.221)连接至 MySQL 数据库,可以执行如下 SQL 命令来更改用户的 `host` 字段:
```sql
UPDATE mysql.user SET Host='192.168.5.221' WHERE User='root';
FLUSH PRIVILEGES;
```
这会将 root 用户的可访问范围限定为仅限于来自该 IP 的请求[^3]。
如果希望更宽松地配置,则可以用通配符 `%` 来代替具体的 IP 地址,表示任何地方都可以通过网络访问这个账户:
```sql
UPDATE mysql.user SET Host='%'
WHERE User='root';
FLUSH PRIVILEGES;
```
请注意,在生产环境中开放给所有 IP 访问可能带来安全风险,建议只针对信任的 IP 开放并考虑使用防火墙进一步保护[^4]。
#### 方法二:创建新用户
另一种方法是专门为远程机器上的应用程序创建一个新的 MySQL 用户账号,并赋予其适当权限:
```sql
CREATE USER 'newuser'@'192.168.5.221' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'192.168.5.221';
FLUSH PRIVILEGES;
```
这里 `'newuser'` 是用户名,而 `'password'` 应替换为你想要设定的实际密码;同样也可以用百分号 (`%`) 替代具体 IP 实现更加灵活的身份验证机制。
完成上述任一步骤之后,请确保重启 MySQL 服务使变更生效。
阅读全文