Accessing Bitbucket Server's H2 embedded database
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
While the H2 database is not supported for production environments, sometimes admins will need access for testing purposes or you may need to run some diagnostics on a Bitbucket mirror's H2 database.
ソリューション
Before accessing or modifying the H2 embedded database, it's always recommended to first make a backup of $BITBUCKET_HOME/shared/data/db.h2.db
- Stop Bitbucket Server
- Login to the server as the user that runs Bitbucket Server
Run the following command which will open a console connection to the database:
java -cp <BITBUCKET_INSTALLATION>/app/WEB-INF/lib/h2-1.3.176.jar org.h2.tools.Shell
Update the path above to reflect where Bitbucket Server is installed
When prompted for the URL enter:
jdbc:h2:file://<BITBUCKET_HOME>/shared/data/db;DB_CLOSE_ON_EXIT=TRUE
Update the path above to reflect the location of the Bitbucket Home directory- Press enter to select default (org.h2.Driver) when asked which driver to use
- Enter sa for the user
- Press enter twice when prompted for the password (no password is required)
If successful, you'll be prompted with sql>
and can enter any SQL commands required.
コマンド ライン オプション
It is also possible to combine the steps to connect to the database in a single command:
java -cp <BITBUCKET_INSTALLATION>/app/WEB-INF/lib/h2-1.3.176.jar org.h2.tools.Shell -url "jdbc:h2:file://<BITBUCKET_HOME>/shared/data/db;DB_CLOSE_ON_EXIT=TRUE" -driver org.h2.Driver -user sa
To connect and then run a query, pass the -sql
option and the SQL query, for example:
java -cp <BITBUCKET_INSTALLATION>/app/WEB-INF/lib/h2-1.3.176.jar org.h2.tools.Shell -url "jdbc:h2:file://<BITBUCKET_HOME>/shared/data/db;DB_CLOSE_ON_EXIT=TRUE" -driver org.h2.Driver -user sa -sql "SELECT * FROM app_property;"
Accessing the H2 database from a browser
For easier navigation of the H2 database, use the Server mode using the command below.
java -cp <BITBUCKET_INSTALLATION>/app/WEB-INF/lib/h2*.jar org.h2.tools.Server
The H2 console can be accessible using http://localhost:8082. Enter the JDBC URL and click on the Connect button.