Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Follow the below instructions to set up a MySQL database.The following sections describe how to replace the default H2 databases with MySQL:

Table of Contents
maxLevel3
minLevel3
styleborder:1
locationtop
typeflat
separatorpipe

Setup Database and the Database User

1. Download and install MySQL on your computer. Use the following command:

Code Block
sudo apt-get install mysql-server mysql-client

Image Removed

2. Start the MySQL service using the following command:

Code Block
sudo /etc/init.d/mysql start

Image Removed

3. Log in to the MySQL client as the root user (or any other user with database creation privileges).

Code Block
mysql -u root -p

Image Removed

4. You will be prompted to enter the password.

Info

In most systems, the default root password is blank. Press "enter" without typing anything if you have not changed the default root password.

After that, you will see the MySQL command prompt.

Image Removed

5. In the MySQL prompt, create the database using the following command.

Code Block
create database regdb;

6. Give authorization of the database to the user "regadmin."

Code Block
GRANT ALL ON regdb.* TO regadmin@localhost IDENTIFIED BY "regadmin"

7. Log out from the MySQL prompt by typing the "quit" command.

Code Block
quit;

Set up Configuration Files

1. Edit the default database configuration defined in the  master-datasources.xml  file located at  <PRODUCT_HOME>/repository/conf/datasources  directory as below. Both the database configurations in  registry.xml  and  user-mgt.xml  refer this data source.

Image Removed

Info

Replace these settings with your own custom values:

Code Block
languagehtml/xml
<datasource>
       <name>WSO2_CARBON_DB</name>
       <description>The datasource used for registry and user manager</description>
       <jndiConfig>
           <name>jdbc/WSO2CarbonDB</name>
       </jndiConfig>
       <definition type="RDBMS">
           <configuration>
               <url>jdbc:mysql://localhost:3306/regdb</url>
               <username>regadmin</username>
               <password>regadmin</password>
               <driverClassName>com.mysql.jdbc.Driver</driverClassName>
               <maxActive>80</maxActive>
               <maxWait>60000</maxWait>
               <minIdle>5</minIdle>
               <testOnBorrow>true</testOnBorrow>
               <validationQuery>SELECT 1</validationQuery>
               <validationInterval>30000</validationInterval>
           </configuration>
       </definition>
</datasource>
The database configuration options
  • url - The URL of the database.
  • username  - The name of the database user.

  • password - The password of the database user.
  • driverClassName  - The class name of the database driver.
  • maxActive - The maximum number of active connections that can be allocated from this pool at the same time or negative for no limit.
  • 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 or <= 0 to wait indefinitely.
  • minIdle - The minimum number of active connections that can remain idle in the pool without extra ones being created or 0 to create none.

Setup Drivers

Download the MySQL Java connector JAR from http://dev.mysql.com/downloads/connector/j/5.1.html and place it in the <PRODUCT_HOME>/repository/components/lib directory.

Create Database

Automatic Database Creation

1. When you start the server for the first time, use the -Dsetup option. It will create all the tables in the given MySQL database.

  • For Linux:
Code Block
wso2server.sh -Dsetup
  • For Windows:
Code Block
wso2server.bat -Dsetup

2. The product is configured to run with MySQL database.

Manual Database Creation

1. Run the MySQL scripts for both registry and user manager (embedded) databases, provided with the product, using the below commands (outside the MySQL prompt).

Code Block
mysql -u regadmin -p -Dregdb < 'PRODUCT_HOME/dbscripts/mysql.sql';
Info

You will be prompted to enter the password for each command.

2. Start the WSO2 product instance.

  • For Linux:
Code Block
wso2server.sh
  • For Windows:

...


Include Page
Shared:Setting up MySQL (V1)
Shared:Setting up MySQL (V1)