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

Flyway CLI无法连接MySQL数据库:getDatabaseTypeForUrl报错求助

解决Flyway连接MySQL失败的建议

1. 修正JDBC URL的格式错误

你执行的命令里URL包含多余的转义引号",这会导致Flyway无法正确识别JDBC URL格式。正确的命令需去掉这些转义字符:

flyway info -X -url=jdbc:mysql://localhost:3306/sms_database

若需指定用户名和密码,补充对应参数:

flyway info -X -url=jdbc:mysql://localhost:3306/sms_database -user=你的数据库用户名 -password=你的数据库密码

2. 确认驱动包放置位置或依赖配置正确

  • Flyway社区版:将JDBC驱动包(如mysql-connector-java-8.0.30.jar)放在Flyway安装目录下的drivers文件夹中
  • Maven/Gradle集成场景:在构建文件中明确引入驱动依赖
    • Maven配置:
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.30</version>
      </dependency>
      
    • Gradle配置:
      implementation 'mysql:mysql-connector-java:8.0.30'
      

3. 检查Flyway与JDBC驱动的版本兼容性

确保Flyway版本和驱动版本匹配:

  • MySQL Connector/J 8.x 适配Flyway 6.0及以上版本
  • MariaDB Java Client 2.x 适配Flyway 7.0及以上版本
    若Flyway版本过旧,建议升级到对应兼容版本。

4. 补充JDBC URL的必要参数(可选)

如果你的MySQL开启SSL、需要指定时区或字符集,可在URL中补充对应参数,示例:

jdbc:mysql://localhost:3306/sms_database?useSSL=false&serverTimezone=UTC&characterEncoding=utf8

参数需根据你的MySQL实际配置调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:18:44