mysql8 -Public Key Retrieval is not allowed

        今天在给对方项目开通mysql8的数据账号后,对方连接提示“Public Key Retrieval is not allowed”。

        出现这个问题的原因是创建账号时,没有指定加密插件使用的是mysql8默认的加密插件caching_sha2_password  

解决方法:

1.可以在连接字符中加入“ServerRSAPublicKeyFile ”属性设置执行公钥。(极力不推荐,一方面可能同步修改my.cnf设置allow_public_key_retrieval=on,另一方个人觉得会有一些安全方面的问题。)

2.升级对应的JDBC驱动程序,确保驱动程序与你的数据对应。

3.连接字符串中加入“allowPublicKeyRetrieval=True”,允许客户端从服务器上获取秘钥。

4.修改用户的密码加密插件。 比如:my.cnf 中设置 default_authentication_plugin=mysql_native_password或者连接你的mysql数据库通过 ALTER USER '用户名'@'host'  IDENTIFIED WITH mysql_native_password  BY '密码'; 修改对应用户的加密插件。

  注:如果是使用工具连接,可以在连接属性中设置allowPublicKeyRetrieval属性或直接将加密插件修改为“mysql_native_password  ”(可以兼容一些版本比较低的连接工具)。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值