Pentaho 8.3 资源库迁移:PostgreSQL → MySQL 实战配置指南

Words 773Read Time 2 min
2026-2-13
cover
type
Post
status
Published
date
Mar 31, 2021 11:11
slug
summary
以 Pentaho 8.3 为例,演示如何将默认的 PostgreSQL 资源库迁移到 MySQL:包含脚本导入、驱动放置,以及 security、hibernate、quartz、JNDI、Tomcat 与 Jackrabbit 等关键配置文件的修改清单与核对表。
tags
Pentaho
PostgreSQL
Big Data
category
Data Engineering
icon
password
wordCount
1205
notion image

前言

Pentaho 默认把资源库放在 PostgreSQL 里。
包括 KTR、报表等内容。
它们会以加密的形式存放在数据库中。
如果你想把资源库迁移到别的数据库,最常见的一步就是先把它迁到 MySQL。
本文用 Pentaho 8.3 举例。
🎯
目标:把 Pentaho 默认的 PostgreSQL 资源库迁移到 MySQL,并完成必要的配置改动。

0. 准备环境

  • MySQL:5.7.17(或 MariaDB:10.3.13)
  • 对应的 SQL 脚本目录:pentaho-server/data/mysql5
⚠️
下面脚本会创建数据库与用户。
默认密码通常是 password
如果你要改密码,只要在后续配置文件中把对应的用户名与密码一起改掉即可。

1. 导入数据库脚本

目录:pentaho-server/data/mysql5
  • create_jcr_mysql.sql
    • 创建 jackrabbit 相关库。
    • 负责存储用户相关、内容存储等。
  • create_quartz_mysql.sql
    • 创建 Quartz 计划任务器所需的库。
  • create_repository_mysql.sql
    • 创建 hibernate 相关库。
    • 用于存储用户授权认证、solution repository 以及数据源配置。
运行完脚本后,你通常会得到 3 个数据库:hibernatequartzjackrabbit
以及对应用户:hibuserpentaho_userjcr_user(具体以脚本为准)。

2. 导入 MySQL 驱动包

把 MySQL JDBC 驱动复制到 Pentaho webapp 的 lib 目录下:

3. 修改配置文件(按顺序)

配置文件目录:pentaho-server/pentaho-solutions/system/

3.1 applicationContext-spring-security-jdbc.properties

主要是 datasource 配置。

3.2 applicationContext-spring-security-hibernate.properties

主要是 JDBC + Hibernate 方言。

3.3 hibernate-settings.xml

指定数据库类型配置文件(从 HSQLDB 切到 MySQL)。

3.4 quartz.properties

Quartz 的 driver delegate 指定。

3.5 simple-jndi.properties

JNDI 数据源配置。

3.6 webapps-INF.xml

Tomcat Context 下的 Resource 配置示例。

3.7 tomcat-INF.xml

如果你之前启用了 Pentaho 默认的 HSQLDB 启动器,迁移后需要禁用它。
把以下两段内容注释掉:

3.8 jackrabbit.xml

把 Jackrabbit 的 FileSystem、DataStore、PersistenceManager、Cluster Journal 等配置切到 MySQL。
下面给出常见片段(按你的实际库名、用户、密码调整):

一张表看懂你要改哪些文件

文件
你要改什么
关键点
datasource 改成 MySQL
validation query 用 SELECT 1
hibernate JDBC + 方言
MySQL 方言:MySQL5InnoDBDialect
hibernate-settings.xml
指定 mysql5.hibernate.cfg.xml
从 HSQLDB 切到 MySQL
driverDelegateClass
通常用 StdJDBCDelegate
JNDI 数据源
库名、账号、密码要一致
webapps-INF.xml
Tomcat Resource
jdbc/Hibernate、jdbc/Quartz
tomcat-INF.xml
禁用 HSQLDB 启动器
否则可能启动时还去拉 HSQLDB
jackrabbit.xml
Jackrabbit 存储切到 MySQL
FileSystem、DataStore、PM、Journal
🧪
验证建议:修改完成后启动 Pentaho。
如果能正常登录,并且能访问 solution repository、计划任务与内容存储,基本就迁移成功了。
 
Loading...