升级后无法启动旧版本的SonarQube

升级后无法启动旧版本的SonarQube,sonarqube,Sonarqube,我目前正在使用SonarQube版本6.4。最近,我在不同的位置下载了SonarQube 6.6,并浏览了与我在6.4中使用的数据库相同的项目。测试后,我关闭了最新的服务器,并试图启动旧的SonarQube(版本6.4),但启动Sonar服务器时失败,出现以下错误 "/Users/manoj-3097/SONARQUBE/sonarqube-6.4/bin/macosx-universal-64/./wrapper" "/Users/manoj-3097/SONARQUBE/sonarqube-

我目前正在使用SonarQube版本6.4。最近,我在不同的位置下载了SonarQube 6.6,并浏览了与我在6.4中使用的数据库相同的项目。测试后,我关闭了最新的服务器,并试图启动旧的SonarQube(版本6.4),但启动Sonar服务器时失败,出现以下错误

"/Users/manoj-3097/SONARQUBE/sonarqube-6.4/bin/macosx-universal-64/./wrapper" "/Users/manoj-3097/SONARQUBE/sonarqube-6.4/bin/macosx-universal-64/../../conf/wrapper.conf" wrapper.syslog.ident=SonarQube wrapper.pidfile="/Users/manoj-3097/SONARQUBE/sonarqube-6.4/bin/macosx-universal-64/./SonarQube.pid"
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    | 
jvm 1    | 2017.10.23 14:42:54 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /Users/manoj-3097/SONARQUBE/sonarqube-6.4/temp
jvm 1    | 2017.10.23 14:42:54 INFO  app[][o.s.a.p.JavaProcessLauncherImpl] Launch process[es]: /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/jre/bin/java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djna.nosys=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/Users/manoj-3097/SONARQUBE/sonarqube-6.4/temp -cp ./lib/common/*:./lib/search/* org.sonar.search.SearchServer /Users/manoj-3097/SONARQUBE/sonarqube-6.4/temp/sq-process634164140479096934properties
jvm 1    | 2017.10.23 14:43:00 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
jvm 1    | 2017.10.23 14:43:00 INFO  app[][o.s.a.p.JavaProcessLauncherImpl] Launch process[web]: /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/Users/manoj-3097/SONARQUBE/sonarqube-6.4/temp -cp ./lib/common/*:./lib/server/*:/Users/manoj-3097/SONARQUBE/sonarqube-6.4/lib/jdbc/mysql/mysql-connector-java-5.1.42.jar org.sonar.server.app.WebServer /Users/manoj-3097/SONARQUBE/sonarqube-6.4/temp/sq-process2067232188703791668properties
jvm 1    | 2017.10.23 14:43:01 INFO  app[][o.s.a.SchedulerImpl] Process [web] is stopped
jvm 1    | 2017.10.23 14:43:01 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
jvm 1    | 2017.10.23 14:43:01 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
wrapper  | <-- Wrapper Stopped

如果使用旧数据库启动新的SonarQube版本,它将升级数据库(创建新表、删除旧列,甚至可能重新格式化数据,等等)。该数据库不能再与旧版本SonarQube一起使用

如果您有数据库的备份,在备份之前:还原它。如果没有备份,则没有简单的解决方法。从理论上讲,手动降级数据库是可能的,但这是一件非常危险和困难的事情


当然,另一种选择是立即切换到SonarQube的新版本:)

如果您使用旧数据库启动新的SonarQube版本,它将升级数据库(创建新表、删除旧列,甚至可能重新格式化数据,等等)。该数据库不能再与旧版本SonarQube一起使用

如果您有数据库的备份,在备份之前:还原它。如果没有备份,则没有简单的解决方法。从理论上讲,手动降级数据库是可能的,但这是一件非常危险和困难的事情


当然,另一个选择是立即切换到SonarQube的新版本:)

那么有没有办法对旧服务器使用相同的DB?@ManojKumar No.每个SonarQube版本都包含一个或多个(很可能是中断的)升级脚本。这些脚本是在第一次使用时执行的。那么有没有办法对旧服务器使用相同的DB?@ManojKumar No.每个SonarQube版本都包含一个或多个(很可能是中断的)升级脚本。这些脚本在第一次使用时执行。
2017.10.23 14:58:46 ERROR web[][o.s.s.p.Platform] Web server startup failed: Database was upgraded to a more recent of SonarQube. Backup must probably be restored or db settings are incorrect.