2

私は初めてソナーランナーを私たちのレポに対して実行しようとしています...

私は持っています:

  1. Sonar 3.2をインストールし、/ opt/sonarにインストールしました
  2. /opt/sonar-runner-2.0/にソナーランナーをインストールして構成しました
  3. PHP拡張プラグインをインストールし、/opt/sonar/extensions/plugins/sonar-php-plugin-1.1.jarに配置しました

私のsonar.propertiesファイルには次のプロパティがあります。

   sonar.jdbc.username:                       sonar
   sonar.jdbc.password:                       sonar
   sonar.jdbc.url:                            jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
   sonar.jdbc.driverClassName:                com.mysql.jdbc.Driver

ユーザー/パスワードがsonar/sonarに設定されていても、sonar-runnerはroot@localhostとして接続しようとしています...以下のトレースを参照してください。

Caused by: java.lang.IllegalStateException: Fail to connect to database
    at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
    ... 20 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YES))
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.commons.dbcp.BasicDataSource.getLogWriter(BasicDataSource.java:1098)
    at org.apache.commons.dbcp.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:350)
    at org.sonar.core.persistence.DefaultDatabase.initDatasource(DefaultDatabase.java:117)
    at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:62)
    ... 25 more
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4113)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1308)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
    ... 30 more

設定を変更した後、ソナーサーバーを再起動しました...

空/空白のパスワードを使用することは可能ですか?コメントアウトするsonar.jdbc.passwordと、ソナーGUIは500ステータスコードをスローします。sonar.jdbc.password空/空白のままにしても、パスワードで接続しようとします:'root'@'localhost' (using password: YES)!!

どうもありがとう

4

1 に答える 1

3

スタックトレースはエラーの詳細を示します。

Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

構成がエラーと一致していないようです。ユーザーrootを使用するようにSonarを構成してみましたか?

あなたの問題はmySQLユーザーアクセスに関係していると思います。「ソナー」ユーザーとしてデータベースに接続してみましたか?

アップデート

Sonarランナーは、Sonarサーバーと同じ構成ファイルを使用しません。次の場所でファイルを探します。

$SONAR_RUNNER_HOME/conf/sonar-runner.properties
于 2012-09-24T22:02:27.397 に答える