Oracle Linux下升级JFrog Artifactory至v5.3配置MySQL及system.yaml问题
Artifactory v4.0 升级到v5.3(Zip安装)MySQL配置及路径问题解决方案
一、解决db.properties配置导致的内存泄漏与数据库切换问题
- 停止Artifactory服务
./bin/artifactory.sh stop - 修正配置文件路径
Artifactory v5.x Zip安装的数据库配置文件路径不是系统/etc目录,而是$JFROG_HOME/artifactory/etc。先备份自动生成的Derby版配置:cp $JFROG_HOME/artifactory/etc/db.properties $JFROG_HOME/artifactory/etc/db.properties.derby.bak - 迁移并配置MySQL属性文件
将/misc/db/mysql.properties复制到正确路径并重命名:
编辑cp /misc/db/mysql.properties $JFROG_HOME/artifactory/etc/db.propertiesdb.properties,确认以下核心配置(根据你的MySQL环境调整):type=mysql driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/artifactory?useUnicode=yes&characterEncoding=UTF-8&connectionCollation=utf8_bin username=你的MySQL用户名 password=你的MySQL密码 - 检查JDBC驱动
确认$JFROG_HOME/artifactory/tomcat/lib目录下存在mysql-connector-java-*.jar驱动包,若没有,下载对应版本(推荐5.1.x系列,适配v5.3)放到该目录。 - 清理缓存消除内存泄漏警告
之前错误配置导致驱动重复加载,清理Tomcat工作目录:rm -rf $JFROG_HOME/artifactory/tomcat/work/* - 启动并验证
查看日志确认连接状态:./bin/artifactory.sh start
正常情况下会显示MySQL连接成功,无内存泄漏警告。tail -f $JFROG_HOME/artifactory/logs/artifactory.log
二、解决system.yaml文件不存在的问题
- Artifactory v5.x Zip安装包无
/var目录,官方文档提及的$JFROG_HOME/artifactory/var/etc/artifactory路径是针对rpm/deb包安装的,Zip安装的配置根目录为$JFROG_HOME/artifactory/etc。 - 若需要
system.yaml,手动创建对应目录和文件:mkdir -p $JFROG_HOME/artifactory/etc/artifactory touch $JFROG_HOME/artifactory/etc/artifactory/system.yaml - 注:v5.3中
db.properties是数据库核心配置文件,system.yaml仅用于补充特殊系统配置,非必须项。
升级额外注意事项
- 升级前务必备份v4.0的数据库和
$JFROG_HOME/artifactory/data目录,避免数据丢失。 - 确认MySQL/MariaDB版本符合v5.3要求:支持MySQL 5.5/5.6/5.7、MariaDB 10.0/10.1。
- 执行
configure.mysql.sh后,检查$JFROG_HOME/artifactory/etc/default文件,确认ARTIFACTORY_HOME等环境变量配置正确。
内容的提问来源于stack exchange,提问作者cyrax_doe
相关产品推荐
相关产品推荐

