问题 Sonarqube 5.5和mariadb


我们正在努力升级到最新的声纳5.5。我们有mariadb 10.1(最新),从现在起我们对sonarqube没有任何问题。

现在,随着升级,sonarqube将无法启动。它说:

不支持的mysql版本:5.5。支持的最低版本是5.6。

我们可以用什么技巧让“声纳思考”我们使用mysql 5.6?


5730
2018-05-04 11:34


起源



答案:


你可以改变 MINIMAL_SUPPORTED_DB_VERSIONS Sonarqube班的成员 https://github.com/SonarSource/sonarqube/blob/master/sonar-db/src/main/java/org/sonar/db/DatabaseChecker.java

  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)
  );

并再次构建项目,但如果他们有这个要求,那么在改变之后并不是一切都能正常工作。


9
2018-05-04 11:44



显然,删除mysql <5.6的支持是故意的。这些检查不是为了惹恼你,而是为了确保在运行时的正确和稳定的行为。您的黑客不得在生产环境中使用。 - Simon Brandhof - SonarSource
我不明白的是这个答案被贬低了。 - Eduardo Yáñez Parareda
我没有推荐任何东西,我给了一个问题,并警告说,做那个Sonarqube可能不会很好。 - Eduardo Yáñez Parareda
MariaDB 10与MySQL 5.6兼容,因此关于删除健全性检查的否定论据无效。理智检查本身应该更加智能,尤其是MariaDB将MySQL替换为许多发行版的默认MySQL实现,例如提到的CentOS 7。 - Patrick Bergner
@ SimonBrandhof-SonarSource,您能否评论一下MariaDB 10与MySQL 5.6兼容的事实?你有理由相信它会导致问题吗?它看起来更像是声纳检测代码中的一个错误......我的意思是我会理解“我们没有用MariaDB测试它,因此无法提供任何保证”但“检查不是为了惹恼你......”听起来有点鉴于声明的MariaDB兼容性,苛刻。 - Andrew Savinykh


答案:


你可以改变 MINIMAL_SUPPORTED_DB_VERSIONS Sonarqube班的成员 https://github.com/SonarSource/sonarqube/blob/master/sonar-db/src/main/java/org/sonar/db/DatabaseChecker.java

  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)
  );

并再次构建项目,但如果他们有这个要求,那么在改变之后并不是一切都能正常工作。


9
2018-05-04 11:44



显然,删除mysql <5.6的支持是故意的。这些检查不是为了惹恼你,而是为了确保在运行时的正确和稳定的行为。您的黑客不得在生产环境中使用。 - Simon Brandhof - SonarSource
我不明白的是这个答案被贬低了。 - Eduardo Yáñez Parareda
我没有推荐任何东西,我给了一个问题,并警告说,做那个Sonarqube可能不会很好。 - Eduardo Yáñez Parareda
MariaDB 10与MySQL 5.6兼容,因此关于删除健全性检查的否定论据无效。理智检查本身应该更加智能,尤其是MariaDB将MySQL替换为许多发行版的默认MySQL实现,例如提到的CentOS 7。 - Patrick Bergner
@ SimonBrandhof-SonarSource,您能否评论一下MariaDB 10与MySQL 5.6兼容的事实?你有理由相信它会导致问题吗?它看起来更像是声纳检测代码中的一个错误......我的意思是我会理解“我们没有用MariaDB测试它,因此无法提供任何保证”但“检查不是为了惹恼你......”听起来有点鉴于声明的MariaDB兼容性,苛刻。 - Andrew Savinykh


这是一个bsdiff文件。

你可以修补它:

bspatch sonar-db-5.6.jar sonar-db-5.6.jar.new sonar-db-5.6.jar.patch

更换它,它的工作原理!

https://drive.google.com/file/d/0B1EExMdpLmiLR1JmVFQ3ZTVPTlU/view?usp=sharing


0
2017-07-26 20:05



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


SonarQube不支持MariaDB - 仍在v7中。请在这里看到:

SonarQube要求

将SonarQube与XAMPP结合使用的解决方案是将数据库从MariaDB更改为MySQL。在这里,您将找到更改它的步骤:

https://gist.github.com/odan/c799417460470c3776ffa8adce57eece


0
2018-03-03 14:34