Sonarqube 5.5和mariadb

12

我们正在尝试升级到最新的SonarQube 5.5版本。我们使用的是MariaDB 10.1(最新版本),在此之前,我们在SonarQube上没有遇到任何问题。

但是,在进行升级后,SonarQube无法启动,并出现以下提示:

不支持的MySQL版本:5.5。最低支持版本为5.6。

是否有任何技巧可以使“sonar”认为我们正在使用MySQL 5.6?

3个回答

9
您可以在Sonarqube类https://github.com/SonarSource/sonarqube/blob/master/sonar-db/src/main/java/org/sonar/db/DatabaseChecker.java中更改MINIMAL_SUPPORTED_DB_VERSIONS成员。
  private static final Map<String, Version> MINIMAL_SUPPORTED_DB_VERSIONS = ImmutableMap.of(
    // MsSQL 2008 is 10.x
    // MsSQL 2012 is 11.x
    // MsSQL 2014 is 12.x
    // https://support.microsoft.com/en-us/kb/321185
    MsSql.ID, Version.create(10, 0, 0),
    MySql.ID, Version.create(5, 6, 0),
    Oracle.ID, Version.create(11, 0, 0),
    PostgreSql.ID, Version.create(8, 0, 0)
  );

重新构建项目,但是如果他们有这个要求,改变之后不一定所有东西都能正常工作。

1
显然,故意取消对mysql < 5.6的支持。这些检查不是为了让你烦恼,而是为了确保运行时的正确和稳定行为。你的黑客技巧不应在生产环境中使用。 - Simon Brandhof
4
我没有提出任何建议,我只是回答了一个问题,并警告说这样做可能会导致Sonarqube无法正常工作。 - Eduardo Yáñez Parareda
1
我们正在使用这个作为测试,我们是一个小团队,并开始使用SonarQube进行分析。如果我们喜欢它,我们将会用MySQL来正确实现它,但同时(1或2个月)我们想使用我们自己的数据库。我们可以承担失去一切的风险。 - cocorossello
10
MariaDB 10兼容MySQL 5.6,因此有关删除健全性检查的负面论点是无效的。这个健全性检查本身应该更加智能化,特别是在MariaDB取代MySQL成为许多发行版(例如提到的CentOS 7)中默认的MySQL实现的情况下。 - Patrick Bergner
3
@SimonBrandhof-SonarSource,您能否评论MariaDB 10兼容MySQL 5.6的事实?您是否有理由认为这会引起问题?这看起来更像是Sonar检测代码中的一个bug。我的意思是,如果说“我们没有使用MariaDB进行测试,因此不能提供任何保证”,我可以理解,但是“这些检查不是为了让您感到烦恼…”听起来有点严厉,考虑到已经声明了MariaDB的兼容性。 - Andrew Savinykh
显示剩余9条评论

0

0

4
似乎这是MariaDB的一个错误。jdbc驱动程序似乎会在connection.getMetaData().getDatabaseMinorVersion()中报告主要版本号,因此它是5.5而不是5.6。另外,在执行getDatabaseProductVersion()时,它返回:5.5.5-10.1.17-MariaDB - Bertl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接