写点什么

DolphinScheduler 3.1.9 单机版重启后,项目、流程定义等数据全部丢失

作者:白鲸开源
  • 2025-10-15
    天津
  • 本文字数:875 字

    阅读完需:约 3 分钟


问题描述

DolphinScheduler 3.1.9 单机版(standalone)重启后,项目、流程定义等数据全部丢失。

问题原因

默认配置使用 H2 内存数据库,数据仅保存在内存中,重启后失效。

sql:  init:    schema-locations: classpath:sql/dolphinscheduler_h2.sqldatasource:  driver-class-name: org.h2.Driver  url: jdbc:h2:mem:dolphinscheduler;MODE=MySQL;DB_CLOSE_DELAY=-1;DATABASE_TO_LOWER=true  username: sa  password: ""
复制代码

解决方法

1. 修改数据库配置

编辑 standalone-server/conf/application.yaml,将 H2 配置替换为 MySQL,并修改数据库:

注意:

  1. 将其中 url 修改成自己的 mysql 主机名,数据库名(不建议修改),其余不变。

  2. username 和 password 改为自己 mysql 的用户名和密码。

  3. schema-locations 后其实 h2 修改为了 mysql,这里直接粘贴就行。

  4. 这里采用 SnakeYAML 解析 yaml 文件,所以一定要保证缩进正确,最好每次改动备份文件前都备份配置文件。

sql:  init:    schema-locations: classpath:sql/dolphinscheduler_mysql.sql  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai    username: root    password: "123456"
复制代码

2. 创建 MySQL 数据库

执行以下 SQL 创建数据库(确保字符集正确):

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
复制代码

3. 添加 MySQL 驱动

mysql-connector-java-*.jar 放入以下目录:

  • tools/libs/

  • standalone-server/libs/

4. 初始化数据库

执行升级脚本,将表结构导入 MySQL:

bash tools/bin/upgrade-schema.sh mysql
复制代码
  • 注意事项确保 MySQL 服务已启动且网络可达。


    配置中的 mysql 库所在主机名,username 和 password 需替换为实际值。完成上述步骤后,重启 DolphinScheduler 服务即可持久化数据。

如果对你有帮助,请点个赞或者关注,谢谢。

原文链接:https://blog.csdn.net/oyLibertad/article/details/151725301)

用户头像

白鲸开源

关注

一家开源原生的DataOps商业公司。 2022-03-18 加入

致力于打造下一代开源原生的DataOps 平台,助力企业在大数据和云时代,智能化地完成多数据源、多云及信创环境的数据集成、调度开发和治理,以提高企业解决数据问题的效率,提升企业分析洞察能力和决策能力。

评论

发布
暂无评论
DolphinScheduler 3.1.9 单机版重启后,项目、流程定义等数据全部丢失_大数据_白鲸开源_InfoQ写作社区