7

Iam trying to change the sonar Qube 5.5 default database to Mysql.But it is still connecting to default H2 DB.

Configuration as below.

I have run the below scripts in Mysql DB

# Create SonarQube database and user.
#
# Command: mysql -u root -p < create_database.sql
#

    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

    CREATE USER 'sonar' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
    FLUSH PRIVILEGES;

uncommented the sonar.jdbc.url for Mysql,Iam not able to see the configuration for H2 DB to comment it.

  # Property values can:                                                                                                                               
    # - reference an environment variable, for example sonar.jdbc.url= ${env:SONAR_JDBC_URL}                                                             
    # - be encrypted. See http://redirect.sonarsource.com/doc/settings-encryption.html                                                                   



#--------------------------------------------------------------------------------------------------                                                  
# DATABASE                                                                                                                                           
#                                                                                                                                                    
# IMPORTANT: the embedded H2 database is used by default. It is recommended for tests but not for                                                    
# production use. Supported databases are MySQL, Oracle, PostgreSQL and Microsoft SQLServer.                                                         

# User credentials.                                                                                                                                  
# Permissions to create tables, indices and triggers must be granted to JDBC user.                                                                   
# The schema must be created first.                                                                                                                  
sonar.jdbc.username=sonar                                                                                                                            
sonar.jdbc.password=sonar                                                                                                                            

#----- Embedded Database (default)                                                                                                                   
# H2 embedded database server listening port, defaults to 9092                                                                                       
#sonar.embeddedDatabase.port=9092                                                                                                                    

#----- MySQL 5.x                                                                                                                                     
# Only InnoDB storage engine is supported (not myISAM).                                                                                              
# Only the bundled driver is supported. It can not be changed.                                                                                       
sonar.jdbc.url=jdbc:mysql://10.9.153.6:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

Then I restarted the server from Administration->system -> Systeminfo.

After restart using cmd line getting this error:

2017.07.20 22:32:54 WARN  web[o.s.p.ProcessEntryPoint] Fail to start web                                                                             
java.lang.IllegalStateException: Webapp did not start                                                                                                
        at org.sonar.server.app.EmbeddedTomcat.isUp(EmbeddedTomcat.java:84) ~[sonar-server-5.5.jar:na]                                               
        at org.sonar.server.app.WebServer.isUp(WebServer.java:48) [sonar-server-5.5.jar:na]                                                          
        at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:105) ~[sonar-process-5.5.jar:na]                                        
        at org.sonar.server.app.WebServer.main(WebServer.java:69) [sonar-server-5.5.jar:na]                                                          
2017.07.20 22:32:54 INFO  web[o.a.c.h.Http11NioProtocol] Pausing ProtocolHandler ["http-nio-0.0.0.0-9000"]                                           
2017.07.20 22:32:55 INFO  web[o.a.c.h.Http11NioProtocol] Stopping ProtocolHandler ["http-nio-0.0.0.0-9000"]                                          
2017.07.20 22:32:55 INFO  web[o.a.c.h.Http11NioProtocol] Destroying ProtocolHandler ["http-nio-0.0.0.0-9000"]                                        
2017.07.20 22:32:55 INFO  web[o.s.s.a.TomcatAccessLog] Web server is stopped  
Ravi
  • 1,247
  • 4
  • 15
  • 35

1 Answers1

4

You appear to have made the correct configuration changes, but the in-UI restart you did is not a "full" restart. Do a restart from the command line and your instance should connect to your configured database.

G. Ann - SonarSource Team
  • 22,346
  • 4
  • 40
  • 76
  • hi i restarted the server and getting an error updated in the main post. – Ravi Jul 20 '17 at 20:41
  • And what does web.log say? – G. Ann - SonarSource Team Jul 21 '17 at 10:18
  • 1
    HI Ann,i found that there is issue with the version of MySQL installed.Sonar 5.5 supports only MySQl version 5.6 and 5.7 and version 5.1 was installed. Iam able to connect sonar to mysql now.but getting a different issue now.i will create a seperate post for it.Thanks – Ravi Aug 11 '17 at 12:26