文档首页/ 云数据库 RDS/ 故障排除/ RDS for MySQL/ 连接类/ mariadb-connector SSL方式连接数据库失败
更新时间:2024-10-24 GMT+08:00

mariadb-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包版本设置方式不同,可查看对应版本的使用说明