Docker启动MySQL, DBeaver连接报错,提示Public Key Retrieval is not allowed Public Key Retrieval is not allowed

辛辛苦苦的好不容易把docker搭建好了,拉取了MySQL的镜像,启动了MySQL容器,提示成功!刚开心起来,在DBeaver里面输入好连接信息,点击测试,mmp,报错了:

Public Key Retrieval is not allowed Public Key Retrieval is not allowed。

心态顿时不好了!!!缓了一会之后,继续来看这个问题,这个问题翻译过来的意思就是:

不允许检索公钥。

这个问题其实就是咱们平时配置MySQL参数时,会设置的一个参数AllowPublicKeyRetrieval,可能平时都没注意过,直接CV过来的。现在要记住这个参数了。
这个参数的大概解释是:

	AllowPublicKeyRetrieval
	如果用户账号使用sha256_password认证,传输过程中必须保护密码;TLS 是首选机制,但如果它不可用,则将使用 RSA 公钥加密。
	要指定服务器的 RSA 公钥,请使用ServerRSAPublicKeyFile连接字符串设置,或设置AllowPublicKeyRetrieval=True为允许客户端
	自动从服务器请求公钥。请注意,这AllowPublicKeyRetrieval=True 可能允许恶意代理执行 MITM 攻击以获取明文密码,
	因此False默认情况下必须显式启用它。

所以看完这个解释就知道怎么玩了,在idea里面配置数据库连接信息的时候,url后面加上这个参数&AllowPublicKeyRetrieval=true就可以正常连接数据库了。
在DBeaver中,编辑连接 - 驱动属性 - allowPublicKeyRetrieval设置成true,然后点一下测试连接。OK,连接成功了。如果使用的是其他软件连接数据库,百度一下看看在哪里设置这个参数。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hfwangyl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值