You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Artifactory从7.19.4升级至7.77.5后数据库迁移失败求助

问题背景

已执行操作步骤

  • 停止Artifactory
  • 停止MySQL
  • 将Ubuntu 14.04升级至16.07
  • 将mysql-server升级至5.7
  • 下载7.75.5.tar.gz文件并放入/opt/jfrog/artifactory
  • 解压7.77.5.tar.gz
  • 删除/opt/jfrog/artifactory/app
  • 执行命令:cp -r /opt/jfrog/artifactory/7.77.5/app/* /opt/jfrog/artifactory/app
  • 启动mysql-server
  • 启动Artifactory

报错信息

查看console.log时发现数据库错误:

"Could not initialize database: org.flyawaydb.core.api.FlywayException: Detected failed migration to version 7.44 (Add Access Permission v2 ref"

排查与解决操作

1. 检查Flyway迁移状态表

  • 登录MySQL,查询Artifactory数据库的flyway_schema_history表:
    SELECT * FROM flyway_schema_history WHERE version = '7.44';
    
    重点看success字段是否为0(标记迁移失败),同时查看error_message字段获取具体失败原因。

2. 修复迁移状态标记(谨慎操作)

如果确认7.44版本的数据库变更已实际完成,仅Flyway标记失败:

  • 先停止Artifactory:systemctl stop artifactory
  • 登录MySQL执行更新:
    UPDATE flyway_schema_history SET success = 1 WHERE version = '7.44';
    
    注意:若迁移未实际完成,此操作会导致数据不一致,务必先确认变更状态。

3. 验证数据库权限与连接配置

  • 检查Artifactory数据库账号权限:
    SHOW GRANTS FOR 'artifactory_user'@'localhost';
    
    确保账号拥有ALTER、CREATE、INSERT等必要权限。
  • 核对Artifactory配置文件(/opt/jfrog/artifactory/var/etc/system.yaml或db.properties)中的数据库连接信息,确认地址、端口、用户名、密码无误。

4. 修正版本不一致问题

你下载的是7.75.5安装包,但解压的是7.77.5包,版本不匹配可能引发迁移逻辑混乱:

  • 重新下载与解压版本一致的安装包,替换/opt/jfrog/artifactory/app目录后,重启Artifactory。

5. 手动执行迁移脚本(可选)

若上述操作无效,可尝试手动执行迁移:

  • 停止Artifactory服务
  • 从Artifactory安装包的app/WEB-INF/db/migration目录找到7.44版本的迁移SQL脚本,手动在MySQL中执行
  • 执行完成后启动Artifactory

内容的提问来源于stack exchange,提问作者darthVikes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:22:47