无法在jenkins上创建PoolableConnectionFactory
问题描述:
我正在使用Sonarqube和MySql。我有Jenkins,我希望将Sonar runner与TC集成为主要用于不同项目(Java,PHP)的项目。我做了以下操作:无法在jenkins上创建PoolableConnectionFactory
- 在windows平台下载sonar zip(最新版本)。
- StartSonar.bat
- 我有一个MySQL CentOS中远程VM:
- 我连接到远程MySQL使用Cygwin SSH:
- 然后创建一个架构,如下:
的MySQL:
CREATE DATABASE sonar CHARACTER SET UTF8;
CREATE USER 'sonar'@'*' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'*';
FLUSH PRIVILEGES;
- 然后我禁用VM防火墙与:
sudo systemctl stop firewalld
- 当我开始声纳与
StartSonar.bat
,我有以下错误:
堆栈跟踪:
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'sonar'@'10.1.162.61' (using password: YES))
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) ~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4]
at org.sonar.core.persistence.DefaultDatabase.checkConnection(DefaultDatabase.java:115) ~[sonar-core-5.1.2.jar:na]
... 28 common frames omitted
Caused by: java.sql.SQLException: Access denied for user 'sonar'@'10.1.162.61' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996) ~[mysql-connector-java-5.1.34.jar:5.1.34]
我在这里错过了什么?
答
的解决方案是使在sonar.properties声纳凭证在conf文件夹如下:
# User credentials.
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- MySQL 5.x
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported.
sonar.jdbc.url=jdbc:mysql://10.1.163.103:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance