mariadb-connector SSL方式连接数据库失败
场景描述
使用jdbc无法连接数据库,报如下错误:
unable to find certification path to requested target
原因分析
从错误截图中可以看出,使用的是mariadb的jar包,而非MySQL的官方驱动包,而mariadb与官方的使用方法略有区别。
解决方案
String url = "jdbc:mysql://xxx.xxx.xxx.xxx:xxxx/mysql?useSsl=true&serverSslCert=D:\\ca.pem&disableSslHostnameVerification=true";
注意:GaussDB(for MySQL)实例不支持hostname校验,因此需要设置disableSslHostnameVerification=true,不同mariadb jar包版本设置方式不同,可查看对应版本的使用说明。