外部主机不允许连接Mysql设置的解决

本文介绍了两种解决MySQL不允许外部主机连接的问题的方法:一是通过修改mysql数据库中的user表来实现;二是通过授权法来指定特定用户从任何主机或指定IP地址连接。

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

外部主机不允许连接Mysql设置的解决

Mysql:is not allowed to connect to this MySQL server

如果你想连接你的mysql的时候发生这个错误:

 

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

 

解决方法:

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 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION

### 如何解决 MySQL 允许远程主机连接到数据库 #### 修改 MySQL 配置文件以允许远程连接 为了使 MySQL 数据库能够接受来自远程主机连接请求,在 MySQL 的配置文件 `my.cnf` 或者 `mysqld.cnf` 中,找到 `[mysqld]` 下面的绑定地址设置项 `bind-address` 并将其更改为服务器的实际 IP 地址或者注释掉此行。这一步骤确保了 MySQL 服务监听所有可用接口而非仅仅 localhost[^1]。 ```ini # /etc/my.cnf.d/server.cnf or similar location depending on distribution [mysqld] # bind-address=0.0.0.0 # Uncomment to allow connections from any host, use with caution. ``` #### 调整用户权限以便于远程访问 默认状态下,MySQL 用户账户通常被限定只能从本地登录。对于希望实现远程访问的情况,则需通过 SQL 命令更改特定用户的 Host 字段值为 `%` ,表示该账号可以从任何地方发起连接尝试;也可以指定某个具体的 IP 地址作为限制条件之一[^4]。 ```sql -- 更新现有用户 'remote_user'@'localhost' 支持任意位置登陆 UPDATE user SET Host='%' WHERE User='remote_user'; FLUSH PRIVILEGES; ``` #### 开放防火墙端口 除了上述软件层面的操作外,还需确认操作系统级别的防护措施会阻碍外部流量进入 MySQL 所使用的 TCP 端口(通常是3306)。可以通过调整 CentOS 上的 firewalld 规则来开放必要的通信通道[^2]: ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` #### 测试新的配置是否生效 完成以上步骤之后,建议先重启 MySQL 服务让新设定生效,再利用命令行工具或其他图形界面应用程序测试能否成功建立远程会话[^3]: ```bash mysql -h your_server_ip -u remote_user -p ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值