CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
注意:官方文檔缺漏 @'%' 授權,若需遠程發布項目必須補上。
conf/sonar.properties註釋內嵌 Derby 配置:
# sonar.jdbc.url: jdbc:derby://localhost:1527/sonar;create=true
# sonar.jdbc.driverClassName: org.apache.derby.jdbc.ClientDriver
# sonar.jdbc.validationQuery: values (1)
啟用 MySQL 配置:
sonar.jdbc.url: jdbc:mysql://192.168.1.151:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
sonar.jdbc.validationQuery: select 1
cd $SONAR_HOME/bin/linux-x86-32
./sonar.sh start
訪問 https://localhost:9000,默認帳號密碼 admin/admin。
下一步:配置 Maven 專案發布到 Sonar(mvn sonar:sonar),實現代碼質量持續監控。

現代版本(SonarQube 9.x+)建議使用 Docker 部署,支援 PostgreSQL,Web 介面全面重構,插件生態更豐富。本文記錄歷史版本安裝過程,供遷移舊項目參考。