【问题标题】:SonarQube Not Starting when connecting to MySQL连接到 MySQL 时 SonarQube 未启动
【发布时间】:2017-05-19 10:30:05
【问题描述】:

如果我不将 MySql 数据库连接到 Sonar,Web UI 可以在 localhost:9000 上加载没有问题。如果我更新 MySQL 的配置文件,网络将无法启动,但我无法从日志中看到提示。

声纳属性:

# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
sonar.jdbc.username=sonarqube
sonar.jdbc.password=password
#----- Embedded Database (default)
# H2 embedded database server listening port, defaults to 9092
# sonar.embeddedDatabase.port=9092
#----- MySQL 5.6 or greater
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

日志:

--> Wrapper Started as Console
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2017.01.04 19:38:08 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\Program Files (x86)\sonarqube-6.2\temp
2017.01.04 19:38:08 INFO  app[][o.s.p.m.JavaProcessLauncher] Launch process[es]: C:\Program Files\Java\jre1.8.0_101\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=C:\Program Files (x86)\sonarqube-6.2\temp -javaagent:C:\Program Files\Java\jre1.8.0_101\lib\management-agent.jar -cp ./lib/common/*;./lib/search/* org.sonar.search.SearchServer C:\Program Files (x86)\sonarqube-6.2\temp\sq-process2983841696812955615properties
2017.01.04 19:38:21 INFO  app[][o.s.p.m.Monitor] Process[es] is up
2017.01.04 19:38:21 INFO  app[][o.s.p.m.JavaProcessLauncher] Launch process[web]: C:\Program Files\Java\jre1.8.0_101\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=C:\Program Files (x86)\sonarqube-6.2\temp -javaagent:C:\Program Files\Java\jre1.8.0_101\lib\management-agent.jar -cp ./lib/common/*;./lib/server/*;C:\Program Files (x86)\sonarqube-6.2\lib\jdbc\mysql\mysql-connector-java-5.1.39.jar org.sonar.server.app.WebServer C:\Program Files (x86)\sonarqube-6.2\temp\sq-process7994513818856510085properties
2017.01.04 19:38:25 INFO  app[][o.s.p.m.Monitor] Process[es] is stopping
2017.01.04 19:38:25 ERROR app[][o.s.p.m.Monitor] Process[web] failed to start
2017.01.04 19:38:26 INFO  app[][o.s.p.m.Monitor] Process[es] is stopped
<-- Wrapper Stopped

【问题讨论】:

  • 不要忘记明确您的 SonarQube 版本(根据那里的一些日志似乎是 6.2)。 /logs/web.log 说什么? (从 6.2 开始,每个 JVM 都有一个日志文件)
  • 你是对的,它是 6.2 版。我需要调查为什么数据库连接不起作用。日志说2017.01.04 19:38:23 ERROR web[][o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.web.PlatformServletContextListener java.lang.IllegalStateException: Can not connect to database. Please check connectivity and settings (see the properties prefixed by 'sonar.jdbc.').

标签: mysql sonarqube sonarqube-web


【解决方案1】:

我连接到 MySQL 数据库中的错误架构。我已将我的用户设置为使用 sonarqube 架构。

不正确:

jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

正确:

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

【讨论】:

  • 如果 docker 映像运行它,我必须将 env var 传递为:SONARQUBE_JDBC_URL,但仍然出现错误
【解决方案2】:

我遇到了类似的问题,没有启动 sonarqube-6.7。在后台我使用了 10.1.25-MariaDB-1。它没有启动的原因是在我的 /opt/sonar/logs/web.log 文件中。 web.log 中有一条消息:

    Web server startup failed: Unsupported mysql version: 5.5. Minimal supported version is 5.6. 

据我了解,尽管 Mariadb 似乎与 MySql 兼容,但 MariaDb 与 sonarqube-6.7 不兼容。 所以我的解决方案是简单地切换到另一个数据库 postgreSQL。之后 sonarqube 成功启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 2020-11-07
    • 1970-01-01
    • 2016-09-14
    • 2015-01-27
    • 2017-05-27
    • 2023-02-14
    • 1970-01-01
    相关资源
    最近更新 更多