数据库

默认已经提供了各类数据库的支持,并且默认的自带数据库为h2,很多时候我们需要切换到其它数据库上面, 比如mysqlpostgreSqloracle

除了Oracle数据库外,其它数据库驱动都默认已经提供了,且这些已添加的驱动是SonarQube唯一支持的,因此不需要修改。 如果是Oracle数据库,需要复制JDBC驱动至${SONAR_HOME}/extensions/jdbc-driver/oracle目录。

下面以MySQL为例介绍数据库的配置:

进入MySQL数据库管理系统中:

mysql -u root -p

输入如下内容:

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;

可以将上面这几条语句直接写成sonar.sql脚本,一次执行:

mysql -u root -p< sonar.sql

创建完成后,查看,如下:

修改${SONAR_HOME}/conf/sonar.properties文件中的如下部分:

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

这里特别注意:MySQL数据库的默认端口是3306,如果你安装了不止一个MySQL数据库,这里的端口确认是你想使用的。