You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级MariaDB连接器版本后SpringBoot应用无法连接数据库问题排查

解决MariaDB驱动3.0.6版本不兼容jdbc:mysql:// URL的问题

这个问题我之前升级驱动时也碰到过,核心原因是MariaDB Java Client 3.x版本开始对JDBC URL格式做了严格限制:

在2.x版本中,驱动兼容jdbc:mysql://前缀来连接MariaDB,但3.x版本开始,官方强制要求使用MariaDB专属的URL前缀jdbc:mariadb://,否则就会抛出你看到的Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl错误。

具体解决步骤:

  1. 修改数据源URL前缀
    打开你的application.properties,把原来的URL:

    spring.datasource.url=jdbc:mysql://localhost:3306/dbname
    

    修改为:

    spring.datasource.url=jdbc:mariadb://localhost:3306/dbname
    
  2. 保留驱动类配置(可选)
    你的spring.datasource.driverClassName=org.mariadb.jdbc.Driver配置不需要修改,3.x版本的驱动类还是这个路径。甚至如果用的是Spring Boot 2.4+,可以完全去掉这个配置,Spring Boot会自动根据URL前缀匹配对应的驱动类。

  3. (可选)兼容旧URL前缀的方案
    如果你因为某些原因必须保留jdbc:mysql://前缀,可以在URL后添加permitMysqlUrl=true参数来允许这种格式:

    spring.datasource.url=jdbc:mysql://localhost:3306/dbname?permitMysqlUrl=true
    

    不过官方并不推荐这种做法,建议还是使用标准的jdbc:mariadb://前缀来避免后续版本可能出现的兼容问题。

最后,把你的Gradle依赖里的驱动版本改成3.0.6:

implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.6'

重新构建项目后,这个错误应该就消失了。

内容的提问来源于stack exchange,提问作者bobjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 14:49:12