华为云云数据库rdsmariadb-connector SSL方式连接数据库失败_云淘科技
场景描述
使用jdbc无法连接数据库,报如下错误:
unable to find certification path to requested target
原因分析
从错误截图中可以看出,使用的是mariadb的jar包,而非MySQL的官方驱动包,而mariadb与官方的使用方法略有区别。
解决方案
对于mariadb-java-client-2.7.5的连接串应该为:
不提供CA证书,不对服务端证书校验:
String url = "jdbc:mysql://ip:port/mysql?useSsl=true&trustServerCertificate=true";
提供CA证书,对服务端证书进行校验:
String url = "jdbc:mysql://ip:port/mysql?useSsl=true&serverSslCert=D:\ca.pem&disableSslHostnameVerification=true";
注意:RDS for MySQL实例不支持hostname校验,因此需要设置disableSslHostnameVerification=true,不同mariadb jar包版本设置方式不同,可查看对应版本的使用说明。
父主题: 连接类
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家