连接MySQL报错,is not allowed to connect to this MySQL server(1)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

use mysql;

select host from user where user=‘root’;


![](https://img-blog.csdnimg.cn/e17c22eb7bf44d3ba69e92ed2b2fa4ee.jpeg)


可以看到,执行查询语句后得到的数据结果中 host 的值是 localhost


我们执行[update语句](https://bbs.youkuaiyun.com/topics/618668825)修改权限



update user set host = ‘%’ where user =‘root’;


![](https://img-blog.csdnimg.cn/003832be553847ea9154fb031cea959d.jpeg)


3、刷新配置



flush privileges;


![](https://img-blog.csdnimg.cn/8bcf8eb0ed614b9a84534968c95ab064.jpeg)


再次执行查询权限语句



select host from user where user=‘root’;


![](https://img-blog.csdnimg.cn/35163d934290470cbab71eda556739fb.jpeg)


可以看到,已经修改成功


4、最后再次用其他机器连接MySQL数据库,可以连接成功



> 
> DBMS: MySQL (版本 5.7.41)  
>  区分大小写: 普通形式=lower, 分隔形式=lower  
>  驱动程序: MySQL Connector/J (版本 mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0),JDBC4.2)
> 
> 
> Ping: 29毫秒  
>  SSL: yes
> 
> 
> 


![](https://img-blog.csdnimg.cn/01f58418e0c745f3beb848ea885ffc79.jpeg)




---



<?xml version="1.0" encoding="UTF-8"?>

<!-- Another sample, using keys to authenticate.
<server>
  <id>siteServer</id>
  <privateKey>/path/to/private/key</privateKey>
  <passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
maven-default-http-blocker external:http:* Pseudo repository to mirror external repositories initially using HTTP. http://0.0.0.0/ true
### DBeaver 连接 MySQL &#39;not allowed to connect&#39; 错误 解决方案 当尝试通过DBeaver连接MySQL服务器并收到错误消息“Host is not allowed to connect to this MySQL server”,这通常意味着当前主机未被授权访问该MySQL实例。解决此问题的方法涉及调整MySQL用户的权限设置。 #### 修改用户权限 为了允许特定主机上的客户端连接MySQL服务端,需登录到MySQL命令行工具并对`mysql.user`表中的相应记录做出更改: ```sql USE mysql; SELECT user, host FROM user WHERE User=&#39;your_username&#39;; ``` 上述查询语句用于确认现有账户及其可接受的来源地址列表[^2]。 如果发现目标主机不在许可范围内,则可以通过执行如下SQL指令来授予必要的权限给指定IP地址或域名对应的机器: ```sql CREATE USER &#39;your_username&#39;@&#39;client_host_or_ip&#39; IDENTIFIED BY &#39;password&#39;; GRANT ALL PRIVILEGES ON *.* TO &#39;your_username&#39;@&#39;client_host_or_ip&#39; WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 这里需要注意的是,在实际操作过程中应当替换掉示例中的占位符(如`your_username`, `client_host_or_ip`, 和`password`)为具体的值[^4]。 对于想要开放任意位置都能访问的情况可以考虑使用通配符 `%` 替代精确匹配的 IP 地址或者主机名;但是出于安全性的考量并不推荐这样做除非确实必要[^1]。 另外一种情况可能是由于防火墙阻止了外部请求到达MySQL端口(默认3306),因此还需要确保网络层面也已经放开了相应的流量控制策略[^3]。 最后关于SSL公钥检索的问题(`Public Key Retrieval is not allowed`),可以在JDBC URL参数里加上选项`allowPublicKeyRetrieval=true&useSSL=false`以绕过这个问题[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值