This page contains instructions on how to set up a MySQL datasource connection for Confluence Standalone or EAR/WAR.

On this page:

1. Shut down Tomcat

Make a backup of your <CONFLUENCE_HOME>/confluence.cfg.xml file and your <CONFLUENCE_INSTALL>/conf/server.xml file so you can easily revert should there be a problem.

2. Install the Drivers

  1. Download the MySQL JDBC drivers from http://www.mysql.com/downloads/api-jdbc-stable.html.
  2. After unpacking the file you have downloaded, you'll find a file called something like mysql-connector-java-3.0.10-stable-bin.jar.
  3. Copy this file into the common/lib directory of your Tomcat installation. Be aware that this directory may be just lib for Tomcat version 6 and beyond (i.e. <tomcat-install>/lib rather than <tomcat-install>/common/lib).

3. Tomcat の構成

  1. If you are using the Standalone distribution. edit the conf/server.xml file in your Tomcat installation. Users running their own Tomcat instance must edit the xml file where they declared the Confluence Context descriptor.
  2. If editing conf/server.xml, find the following lines:
    <Context path="" docBase="../confluence" debug="0" reloadable="true">
                        <!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
    
  3. Within the Context tags, directly after the opening <Context.../> line, insert the DataSource Resource tag:
    <Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource"
             username="yourusername"
             password="yourpassword"
             driverClassName="com.mysql.jdbc.Driver"
             url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf8"
             maxActive="15"
             maxIdle="7"
             validationQuery="Select 1" />
    

The Confluence database connection URL must have autoReconnect=true added to the end to prevent disconnection issues.

When a database server reboots, or there is a network failure, all the connections in the connection pool are broken and this normally requires a Application Server reboot.

However, the Commons DBCP (Database Connection Pool) which is used by the Tomcat application server can validate connections before issuing them by running a simple SQL query, and if a broken connection is detected, a new one is created to replace it. To do this, you will need to set the "validationQuery" option on the database connection pool.

If switching from a direct JDBC connection to datasource, you can find the above details in your <CONFLUENCE_HOME>/confluence.cfg.xml file.

The configuration properties for Tomcat's standard data source resource factory (org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory) are as follows:

  • driverClassName — 使用される JDBC ドライバの完全修飾 Java クラス名。
  • maxActive — The maximum number of active instances that can be allocated from this pool at the same time.
  • maxIdle — このプールで同時にアイドル状態可能な接続最大数。
  • maxWait — The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception.
  • password — JDBC ドライバに渡されるデータベースのパスワード。
  • url — JDBC ドライバに渡される接続 URL。(後方互換性のために、プロパティの driverName も認識されます。)
  • user — JDBC ドライバに渡されるデータベースユーザー名
  • validationQuery — 接続がアプリケーションに戻される前に接続を検証するためにプールによって使用される SQL クエリ。指定する場合、クエリは少なくとも1つの行を返す SQL SELECT 文でなければなりません。

4.Confluence Web アプリケーションを設定する

  1. Edit confluence/WEB-INF/web.xml in your confluence installation
  2. Go to the end of the file and just before </web-app>, insert the following:
    <resource-ref>
            <description>Connection Pool</description>
            <res-ref-name>jdbc/confluence</res-ref-name>
            <res-type>javax.sql.Datasource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
    

5. Configure Confluence

6. Confluence を再起動します。

Run bin/startup.sh or bin/startup.bat to start Tomcat with the new settings.

F.A.Q.

関連トピック