默认已经提供了各类数据库的支持,并且默认的自带数据库为h2
,很多时候我们需要切换到其它数据库上面, 比如mysql
、postgreSql
、oracle
。
除了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数据库,这里的端口确认是你想使用的。