解决ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 方法

本文详细介绍了如何利用MySQL的改表法和授权法来解决远程登录问题,包括如何修改mysql数据库里的user表以及授权特定用户从任意主机或指定IP连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user; 

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION; 
### 解决 MySQL 错误 1130 (HY000): 主机未被允许访问解决方案 错误 `1130 HY000` 表明客户端尝试从不允许的主机连接到 MySQL 数据库。此问题通常涉及权限配置不当或网络设置不正确。 以下是针对该问题的具体分析和解决办法: #### 权限配置调整 确保目标 IP 地址已被授权可以访问数据库实例。可以通过修改 MySQL 的用户权限表来实现这一点。具体操作如下: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'client_ip_address' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; ``` 上述命令授予指定用户 (`your_user`) 对所有数据库 (`*.*`) 的完全控制权,并限定其仅能从特定 IP 地址 (`client_ip_address`) 进行连接[^1]。 如果需要允许多个不同地址,则需逐一添加对应的 GRANT 命令或将 `'client_ip_address'` 替换为通配符 `%`,表示任何位置均可访问。不过需要注意的是,使用通配符可能会带来安全风险,在生产环境中应谨慎处理。 #### 配置文件更改 确认 MySQL Server 的配置文件中没有阻止外部请求的相关设定。打开 my.cnf 或 my.ini 文件(取决于操作系统),查找 bind-address 参数并将其设为 0.0.0.0 ,从而允许来自任意网卡接口上的入站流量: ```ini bind-address=0.0.0.0 ``` 重启服务使改动生效: ```bash sudo systemctl restart mysql.service ``` 对于 Docker 容器中的部署情况,启动容器时可通过参数暴露端口给宿主机以便远程接入。例如基于官方镜像创建新容器时可加入 `-p` 映射选项: ```bash docker run --name=mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 mysql:latest ``` 这里假设默认监听端口号仍保持不变即 3306 。另外记得依据实际需求替换环境变量值以及映射的目标本地端口编号[^2]。 最后再次强调安全性考量——开放公网访问前务必实施防火墙策略限制合法源范围内的通信行为;同时定期审查账户列表移除不必要的条目减少潜在威胁面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值