ERROR 1130 (HY000): Host '192.168.0.107' is not allowed to connect to this MySQL server
时间: 2025-05-26 14:40:13 浏览: 3
### 解决方案
当遇到 `ERROR 1130 (HY000): Host '10.8.0.5' is not allowed to connect to this MySQL server` 错误时,这通常意味着目标主机上的用户账户没有被授权从指定 IP 地址连接到 MySQL 数据库服务器[^1]。
#### 授权特定 IP 连接的方法
可以通过以下方式授予特定 IP 的访问权限:
1. **创建新用户并授予权限**
使用 MySQL 命令行工具进入数据库管理界面,并执行如下 SQL 脚本:
```sql
CREATE USER 'your_username'@'10.8.0.5' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'10.8.0.5' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
上述脚本中的 `'your_username'` 和 `'your_password'` 需要替换为您希望设置的实际用户名和密码。`'10.8.0.5'` 是需要授权的具体客户端 IP 地址[^2]。
2. **修改现有用户的权限范围**
如果已经存在该用户但未分配给特定 IP,则可以更新其权限配置:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'existing_user'@'%' IDENTIFIED BY 'password_for_existing_user' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
此处 `%` 表示允许任何 IP 地址连接至数据库服务。
3. **检查防火墙规则**
确认服务器端的防火墙已开放必要的端口(默认情况下为 3306),以便外部设备能够通过网络建立 TCP/IP 连接[^1]。
4. **调整超时参数**
对于长时间闲置可能导致断开的情况,可适当延长某些会话保持时间变量如 `wait_timeout` 或者 `interactive_timeout` 来减少意外中断的可能性[^3]:
```sql
SET GLOBAL wait_timeout=3600;
```
以上操作完成后重新测试连接功能即可验证问题是否得到解决。
### 注意事项
如果仍然无法解决问题,请确认 mysql 用户表中是否存在针对旧版加密算法的支持情况,因为全局设定可能强制 PASSWORD 函数采用过期的方式处理散列值[^4]。
阅读全文
相关推荐


















