This page tells you how to set up a MySQL datasource connection for Confluence or Confluence EAR/WAR.

On this page:

1. Shut down Tomcat

  1. Run bin/shutdown.sh or bin/shutdown.bat to bring Tomcat down while you are making these changes.
  2. Make a backup of your <CONFLUENCE_HOME>/confluence.cfg.xml file and your <CONFLUENCE_INSTALL>/conf/server.xml file so that you can easily revert if you have 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 will 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. Configure Tomcat

  1. If you are using the Confluence distribution, edit the conf/server.xml file in your Tomcat installation. If you are running your own Tomcat instance, edit the XML file where you 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 Resourcetag:

    <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?useUnicode=true&amp;characterEncoding=utf8"
             maxActive="15"
             maxIdle="7"
             defaultTransactionIsolation="READ_COMMITTED"
             validationQuery="Select 1" />
    
Notes

4. Configure the Confluence Web Application

  1. Edit confluence/WEB-INF/web.xml in your Confluence installation.
  2. Go to the end of the file and insert the following element just before </web-app>:

    <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

If you have not yet set up Confluence:

  1. Follow the steps in the Confluence Setup Guide
  2. In the Database Setup section, choose the "Datasource Connection" option.
  3. Set the JNDI name to java:comp/env/jdbc/confluence
  4. Set the Database dialect to MySQL.

If you are changing an existing Confluence installation over to using a Tomcat datasource:

  1. Find your ConfluenceHome directory (see: Confluence Home Directory if you don't know where it is).
  2. Edit the confluence.cfg.xml file
  3. Delete any line that contains a property that begins with hibernate.
  4. Insert the following at the start of the <properties>section.

    <property name="hibernate.setup"><![CDATA[true]]></property>
        <property name="hibernate.dialect"><![CDATA[net.sf.hibernate.dialect.MySQLDialect]]></property>
        <property name="hibernate.connection.datasource"><![CDATA[java:comp/env/jdbc/confluence]]></property>
    

6. Restart Confluence

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

RELATED TOPICS

Database Setup For MySQL