辛辛苦苦的好不容易把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,连接成功了。如果使用的是其他软件连接数据库,百度一下看看在哪里设置这个参数。