SonarQubeとMariaDB 10のパフォーマンスチューニング:より高速な静的コード分析を実現
SonarQube と MariaDB 10 に関する問題
原因: MariaDB 10 のデフォルトの認証方式である caching_sha_256_password
は、SonarQube が使用する mysql_native_password
と互換性がありません。
解決策:
- MariaDB 10 の認証方式を
mysql_native_password
に変更する。
注意事項
- 上記の解決策を実行する前に、SonarQube と MariaDB のバックアップを取っておくことをお勧めします。
- SonarQube または MariaDB のバージョンによっては、上記の情報が適用されない場合があります。最新の情報については、それぞれの公式ドキュメントを参照してください。
補足情報
- SonarQube-ops は、SonarQube の運用を自動化するためのツールです。SonarQube と MariaDB 10 の問題を解決するのに役立つ可能性があります。
用語解説
- SonarQube: 静的コード分析ツール
- MariaDB: オープンソースのデータベース管理システム
- SonarQube-ops: SonarQube の運用を自動化するためのツール
- 認証方式: ユーザーがデータベースにログインするために使用する方式
- caching_sha_256_password: MariaDB 10 のデフォルトの認証方式
- mysql_native_password: SonarQube が使用する認証方式
SonarQube と MariaDB 10 の設定例
ALTER USER 'sonar' IDENTIFIED BY 'password' PASSWORD REQUIRE SHA256_PASSWORD;
SonarQube 設定ファイルの変更
jdbc:url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=UTF-8
jdbc:username=sonar
jdbc:password=password
注意事項
- 上記のコードはあくまで例であり、環境によって変更が必要になる場合があります。
- 変更を行う前に、SonarQube と MariaDB のドキュメントを参照してください。
SonarQube-ops を使用して、SonarQube と MariaDB の設定を自動化することができます。
sonar:
jdbc:
url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=UTF-8
username: sonar
password: password
authentication:
password:
hash: SHA256
- SonarQube-ops の使用方法については、SonarQube-ops のドキュメントを参照してください。
SonarQube と MariaDB 10 に関する情報は、以下のリソースを参照してください。
SonarQube と MariaDB 10 を利用する方法
SonarQube の公式ドキュメントでは、MariaDB 10.4 以降を使用することを推奨しています。MariaDB 10.4 以降は、SonarQube で公式にサポートされているため、互換性と安定性の問題が発生する可能性が低くなります。
MariaDB 10.3 以下を使用する場合は、以下のいずれかの方法で問題を解決することができます。
MariaDB 10 の認証方式を変更する
MariaDB 10 のデフォルトの認証方式である caching_sha_256_password
は、SonarQube が使用する mysql_native_password
と互換性がありません。MariaDB 10 の認証方式を mysql_native_password
に変更することで、問題を解決することができます。
変更方法:
ALTER USER 'sonar' IDENTIFIED BY 'password' PASSWORD REQUIRE SHA256_PASSWORD;
変更箇所:
jdbc:url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=UTF-8
jdbc:username=sonar
jdbc:password=password
使用方法:
sonar:
jdbc:
url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=UTF-8
username: sonar
password: password
authentication:
password:
hash: SHA256
sonarqube mariadb sonarqube-ops