2017-01-05 2 views
2

Wenn ich die MySql-Datenbank nicht mit Sonar verbinde, kann die Webbenutzeroberfläche kein Problem auf localhost: 9000 laden. Wenn ich die Konfigurationsdatei für MySQL aktualisiere, wird das Web nicht starten, aber ich kann keinen Hinweis aus dem Protokoll sehen.SonarQube startet nicht beim Herstellen einer Verbindung zu MySQL

sonar.properties:

# 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 

Log:

--> 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 
+1

Vergessen Sie nicht, Ihre SonarQube-Version explizit zu machen (scheint 6.2 basierend auf einigen Logs zu sein). Was sagt _ /logs/web.log_? (Es gibt eine Protokolldatei pro JVM seit 6.2) –

+0

Sie haben Recht, es ist Version 6.2. Ich muss untersuchen, warum die Datenbankverbindung nicht funktioniert. Die Protokolle sagen '2017.01.04 19:38:23 FEHLER web [] [oaccC [. [. [/]] Ausnahme senden Kontextinitialisierung Ereignis zu Listener-Instanz der Klasse org.sonar.server.platform.web.PlatformServletContextListener java.lang.IllegalStateException: Verbindung zur Datenbank nicht möglich. Überprüfen Sie die Konnektivität und die Einstellungen (siehe Eigenschaften mit dem Präfix 'sonar.jdbc.'). ' –

Antwort

3

Ich war zum falschen Schema in der Datenbank MySQL verbinden. Ich habe meinen Benutzer eingerichtet, das Sonarqube-Schema zu verwenden.

incorect:

jdbc: mysql: // localhost: 3306/Sonar useUnicode = true & characteren = UTF8 & rewriteBatchedStatements = true & useConfigs = maxPerformance & useSSL = false

Richtig:?

sonar.jdbc.url = jdbc: mysql: // localhost: 3306/sonarqube? UseUnicode = true & characteren = UTF8 & rewriteBatchedStatements = true & useConfigs = maxPerformance & useSSL = false

0

ich ähnliches Problem mit nicht starten Sonarqube-6.7 hatte. Im Hintergrund habe ich 10.1.25-MariaDB-1 benutzt. Der Grund, warum es nicht gestartet wurde, war in meiner Datei /opt/sonar/logs/web.log. Es gab eine Nachricht in web.log:

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

Wie ich verstanden ist, dass MariaDB nicht kompatibel ist mit Sonarqube-6.7 obwohl MariaDB mit MySql kompatibel zu sein scheint. Also war meine Lösung einfach zu einem anderen DB PostgreSQL zu wechseln. Und danach ist Sonarqube erfolgreich gestartet.

Verwandte Themen