message from server: “Host

本文介绍了当遇到Java SQL异常提示没有远程访问权限时的解决办法。主要通过给MySQL账户分配远程连接权限来解决问题,包括如何修改root账户的host项为'%',使root账户可以从任意主机连接数据库,并刷新权限。

java.sql.SQLException: null, message from server: “Host ‘XXXXX‘ 

产生原因:

没有远程访问权限

解决方法:

需要给对应的MySQL账户分配权限,允许使用该账户远程连接到MySQL

2.root账户中的host项是localhost表示该账号只能进行本地登录,我们需要修改权限,输入命令:password表示将用这个密码登录root用户,

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

3.保存更改

FLUSH PRIVILEGES;

 

### 解决 MySQL 错误 “Host is not allowed to connect”的方法 当遇到错误 `Host 'WIN-DCNIJQ17D0M' is not allowed to connect` 时,这通常是因为 MySQL 用户权限配置不正确或未允许指定主机访问数据库。以下是详细的解决方案: #### 配置 MySQL 权限 为了使特定主机能够连接到 MySQL 数据库,需要确保该主机已被授权访问目标数据库。可以通过以下 SQL 命令实现: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_user_name'@'WIN-DCNIJQ17D0M' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` 上述命令的作用是授予用户 `'your_user_name'` 对所有数据库 (`*.*`) 的完全控制权,并限定其仅能从主机 `WIN-DCNIJQ17D0M` 进行连接[^1]。 如果希望不限制客户端 IP 地址,则可以使用通配符 `%` 替代具体的主机名: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_user_name'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` 此操作会允许来自任何主机的连接请求。 #### 修改 MySQL 配置文件 (my.cnf 或 my.ini) 有时,默认情况下 MySQL 只监听本地回环地址(即 `127.0.0.1`)。要让远程主机也能成功建立连接,需修改 MySQL 配置文件中的绑定地址设置为 `0.0.0.0` 或者服务器的实际公网 IP 地址。 对于 Linux 系统,在 `/etc/mysql/my.cnf` 文件中找到并更改如下参数: ```ini bind-address = 0.0.0.0 ``` 而对于 Windows 平台上的安装版本,编辑位于安装目录下的 `my.ini` 文件同样完成此项调整。 重启服务以应用新的配置变更: ```bash sudo systemctl restart mysql.service # 或者针对某些发行版可能适用下面这条指令 sudo service mysql restart ``` 最后确认防火墙规则开放了必要的端口(默认为3306),以便外部设备通过网络抵达运行着 MySQL 实例的目标机器上。 #### 测试连接 尝试重新启动应用程序或者手动测试新设定下能否正常连入数据库实例。例如利用命令行工具执行登录验证动作: ```bash mysql -u your_user_name -p -h WIN-DCNIJQ17D0M ``` 输入密码之后应该可以看到欢迎界面而不再遭遇拒绝接入的情况发生。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值