是否可以将 Artifactory(2.2.5 到 3.7.0)从 Derby 支持的数据库迁移和升级到 MySQL 数据库?

Is it possible to migrate and upgrade an Artifactory (2.2.5 to 3.7.0) from a Derby-backed database to a MySQL one?

我正在尝试将旧的 Artifactory 安装从 2.2.5 升级到 3.7.0。我有一个完整的 zip 备份。使用原始 3.7.0 安装(使用内置)Derby 在单独的机器上导入 Artifactory 确实成功通过了。我现在想知道如何解决迁移到 MySQL 数据库的问题。我知道这些是完全不同的数据库,但我希望进口商能够弄清楚该怎么做。

这完全可能吗?是否有一些文档可以指导我如何准确地做到这一点?

尽管针对 3.7.0 Artifatory with Derby 的导入正在运行,但我是否需要进行增量升级(首先升级到 2.6.6)?

我收到以下异常:

java.lang.RuntimeException: Error while extracting /path/to/backup/thebackup.zip
    at org.artifactory.util.ZipUtils.extractFiles(ZipUtils.java:163) ~[artifactory-common-3.7.0.jar:na]
    at org.artifactory.util.ZipUtils.extract(ZipUtils.java:93) ~[artifactory-common-3.7.0.jar:na]
    at org.artifactory.webapp.wicket.page.importexport.system.ImportSystemPanel.onSubmit(ImportSystemPanel.java:181) ~[artifactory-web-application-3.7.0.jar:na]
    at org.artifactory.common.wicket.component.links.TitledAjaxSubmitLink.onSubmit(TitledAjaxSubmitLink.java:59) [artifactory-web-common-3.7.0.jar:na]
    at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onSubmit(AjaxFormSubmitBehavior.java:172) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1151) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.markup.html.form.Form.process(Form.java:834) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:762) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:158) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:184) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:369) [wicket-core-1.5.5.jar:1.5.5]
    at sun.reflect.GeneratedMethodAccessor160.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
    at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:260) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:255) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:781) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) [wicket-request-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:185) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:241) [wicket-core-1.5.5.jar:1.5.5]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.56]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.56]
    at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:193) [artifactory-web-application-3.7.0.jar:na]
    at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:87) [artifactory-web-application-3.7.0.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.56]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.56]
    at org.artifactory.webapp.servlet.AccessFilter.useAuthentication(AccessFilter.java:314)
2015-06-02 16:00:00,006 [art-exec-4] [INFO ] (o.a.s.b.GarbageCollectorInfo:78) - Storage garbage collector report:
Number of binaries:      0
Total execution time:    3 millis
Candidates for deletion: 0
Checksums deleted:       0
Binaries deleted:        0
Total size freed:        0 bytes
Current total size:      0 bytes

如果你有一个完整的拉链,你就很好。 采用原始 3.8.0(如果确实需要,也可以采用 3.6.0,但为什么呢?),change the storage to MySQL 然后 运行 完整的系统导入。


我与 JFrog, the company behind Bintray and [artifactory], see my profile 一起获取详细信息和链接。