Camunda7.18流程引擎启动出现Table ‘camunda_platform_docker.ACT_GE_PROPERTY‘的解决方案

文章目录


1、问题描述

需要在docker中,部署Camunda流程引擎。通过启动脚本camunda-platform-dockerstart.sh 连接引擎。

本文使用的数据库为mysql8.0.21版本,camunda-platform-dockerstart.sh 脚本内容如下:

shell 复制代码
#!bin/bash
docker run -d --name camunda -p 8080:8080  \
           -e DB_DRIVER=com.mysql.cj.jdbc.Driver \
           -e DB_URL=jdbc:mysql://192.168.188.135:3306/camunda \
           -e DB_USERNAME=root \
           -e DB_PASSWORD=123456 \
           -e WAIT_FOR=192.168.188.135:3306 \
           camunda/camunda-bpm-platform:7.18.0

执行上述脚本时,出现如下错误提示:

复制代码
Cause: java.sql.SQLSyntaxErrorException: Table 'camunda_platform_docker.ACT_GE_PROPERTY' doesn't exist

2、原因分析

mysql连接从6.x版本开始,将nullCatalogMeansCurrent属性由原来的默认true改为了false。

  • true:使用指定的数据库进行查询。优先取当前传入的数据库名,其次取当前链接的数据库名。
  • false:代表遍历当前链接下的所有数据库(即从information_schema, mysql 和 performance_schema 这三个系统DB中进行查询)。

所以,如果提前在虚拟机的mysql中,创建 过其他Camunda的数据库(非第一次创建Camunda流程引擎),则会存在activiti表。此时,使用同一个虚拟机ip下的mysql再次创建Camunda时,就算两张activiti表不在同一个数据库中,也会产生该错误。


3、解决方案

3.1、方案一:降低mysql版本

降低mysql版本至5.x,同时也应该使用mysql 5.x的数据库驱动进行连接:

powershell 复制代码
DB_DRIVER=com.mysql.jdbc.Driver

3.2、方案二:增加nullCatalogMeansCurrent参数(推荐)

在连接语句后增加:nullCatalogMeansCurrent=true

powershell 复制代码
DB_URL=jdbc:mysql://自己的虚拟机ip地址:3306/camunda?nullCatalogMeansCurrent=true

只要出现了以下49张表,说明Camunda流程引擎创建成功。


4、总结

  1. 将mysql版本降为5.x。

  2. 在数据库连接的url后面加上nullCatalogMeansCurrent=true。

既然选择了mysql8.0的版本,更推荐使用第二种方案。

相关推荐
木头左7 小时前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
禁默7 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81638 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
翔云1234569 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
爱莉希雅&&&10 小时前
GitLab 完整学习笔记
linux·运维·服务器
java_logo10 小时前
Docker 部署 EmulatorJS:轻松搭建浏览器复古游戏平台
游戏·docker·容器·复古游戏·轩辕镜像·emulatorjs·红白机
小杨爱科普11 小时前
制造业上自动化改造,改造部分的专利到底归谁
运维·经验分享·自动化
吴声子夜歌11 小时前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
方便面不加香菜13 小时前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
AR-26710-16 小时前
Linux Day32——实操五类资源告急排查
linux·运维