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

Rundeck切换MariaDB数据库后服务无法启动问题求助

Rundeck切换MariaDB后启动失败排查修复方案

你的配置文件存在多处会直接导致服务启动失败的错误,逐项修正即可:

配置文件显性错误修复

  • 补全数据库驱动类配置
    当前dataSource.driverClassName=为空,Rundeck无法加载JDBC驱动建立数据库连接。根据你使用的驱动版本补全值:
    • MySQL 8.x、MariaDB 10.3及以上版本使用com.mysql.cj.jdbc.Driver
    • 旧版MySQL 5.x驱动使用com.mysql.jdbc.Driver
  • 删除无效游离配置
    配置中grails.plugin.databasemigration.updateOnStart=true下方单独存在的autoReconnect=true属于未归属的无效顶层配置,Grails框架识别到未知配置会直接终止启动,直接删除该行即可,autoReconnect参数已经在JDBC连接串中声明,无需重复配置。
  • 补全密钥存储provider类型
    当前rundeck.storage.provider.1.type=为空,Rundeck初始化密钥存储模块时找不到对应实现类会直接启动失败。你统一使用数据库作为存储后端,这里填db即可。
  • 清理冗余重复配置
    配置文件中两次声明rundeck.projectsStorageType=db,删除其中一处即可,该问题不会直接阻断启动,但属于无效冗余配置。
  • 替换所有未替换的占位符
    配置中grails.serverURL、dataSource.url内的IP OF SERVER、dataSource.username的DB User、dataSource.password的Password如果是实际部署时未替换的占位符,需要全部替换为实际的服务器IP/域名、数据库授权用户名、数据库密码。

修正后的核心配置片段参考:

loglevel.default=INFO
rdeck.base=/var/lib/rundeck
rss.enabled=false
grails.serverURL=http://你的服务器实际IP:4440
dataSource.driverClassName=com.mysql.cj.jdbc.Driver
dataSource.url = jdbc:mysql://你的数据库实际IP/rundeck?autoReconnect=true&useSSL=false
dataSource.username = 你的数据库授权用户名
dataSource.password = 你的数据库密码
grails.plugin.databasemigration.updateOnStart=true

rundeck.projectsStorageType=db

#Encryption for key storage
rundeck.storage.provider.1.type=db
rundeck.storage.provider.1.path=keys

rundeck.storage.converter.1.type=jasypt-encryption
rundeck.storage.converter.1.path=keys
rundeck.storage.converter.1.config.encryptorType=custom
rundeck.storage.converter.1.config.password=7ee99cf09ffc59e7
rundeck.storage.converter.1.config.algorithm=PBEWITHSHA256AND128BITAES-CBC-BC
rundeck.storage.converter.1.config.provider=BC

#Encryption for project config storage
rundeck.config.storage.converter.1.type=jasypt-encryption
rundeck.config.storage.converter.1.path=projects
rundeck.config.storage.converter.1.config.password=7ee99cf09ffc59e7
rundeck.config.storage.converter.1.config.encryptorType=custom
rundeck.config.storage.converter.1.config.algorithm=PBEWITHSHA256AND128BITAES-CBC-BC
rundeck.config.storage.converter.1.config.provider=BC

rundeck.feature.repository.enabled=true

配置外必做校验项

配置修改完成后,还需要核对以下内容,否则依然可能启动失败:

  • 确认MariaDB中已创建rundeck库,指定字符集为utf8mb4,排序规则为utf8mb4_unicode_ci,建库参考语句:
    CREATE DATABASE rundeck CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  • 确认配置中填写的数据库用户拥有rundeck库的全部权限,且允许从Rundeck服务器IP访问,授权后记得刷新权限:
    GRANT ALL ON rundeck.* TO '你的数据库用户名'@'Rundeck服务器IP' IDENTIFIED BY '你的数据库密码';
    FLUSH PRIVILEGES;
    
  • 确认Rundeck服务的lib目录下存在对应版本的JDBC驱动包,缺少驱动包即使配置正确也会报类找不到错误。
  • 首次修改配置重启前,清空Rundeck的工作目录和缓存目录(/var/lib/rundeck/work、/var/cache/rundeck下的所有内容),再启动服务,启动过程中查看/var/log/rundeck/rundeck.log确认数据库连接、表初始化状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 18:48:41