为解决 CVE 问题,H2 数据库驱动被升级到 2.2.224 版本。由旧版本驱动构建的数据库与 2.2.224 版本不兼容。要升级数据库,您需要使用旧的 H2 驱动备份数据库,并用新驱动恢复此备份。
步骤
-
使用 H2 数据库备份 Talend Administration Center:复制到
/<tomcat_path>/webapps/org.talend.administrator
备份目录:<backup_directory_path>。
-
解压缩数据库驱动程序 JAR:
- 旧的 (例如,h2.2.x.jar)。
- 新的 (h2-2.2.224.jar)。
-
打开一个终端至
<backup_directory_path>/org.talend.administrator/WEB-INF/lib
用旧版驱动输入后续命令:
java -jar h2-2.x.jar。
-
提供旧数据库文件位置:
jdbc:h2:/path/to/backup_dir/org.talend.administrator/WEB-INF/database/talend_administrator;AUTO_SERVER=TRUE;lock_timeout=15000;DEFAULT_LOCK_TIMEOUT=15000;
LOCK_MODE=0;MODE=LEGACY
和登录旧数据库的凭据。
-
在控制台输入后续命令 SCRIPT TO '<backup_file_path>/backup.sql';
单击 Run (运行)。
这会将旧数据库的内容导出至指定名称和位置的 SQL 文件。
-
关闭以前的 H2 服务器。
-
打开 <tomcat_path>/webapps/ 并删除 /<tomcat_path>/webapps/org.talend.administrator/database 中的所有文件。
-
要启动 http://localhost:8082/。 的 H2 浏览器控制台,打开 /<tomcat_path>/webapps/org.talend.administrator/WEB-INF/lib 内的终端并输入后续命令:
java -cp h2*.jar org.h2.tools.Server -ifNotExists。
-
提供您之前输入的数据库位置的路径,创建 backup.sql 文件:
jdbc:h2:/<tomcat_path>//webapps/org.talend.administrator/WEB-INF/database/talend_administrator;AUTO_SERVER=TRUE;lock_timeout=15000;DEFAULT_LOCK_TIMEOUT=15000;
LOCK_MODE=0;MODE=LEGACY
-
登录新数据库并使用后续命令从备份文件中导入数据。
RUNSCRIPT FROM '<backup-file-path>/backup.sql';
-
启动 Talend Administration Center 控制台。
结果
Talend Administration Center 现在使用可兼容新的 2.2.224 版本驱动的新 H2 数据库。