Follow the below instructions to set up a MySQL database.
Setup Database and the Database User
1. Download and install MySQL on your computer. Use the following command:
sudo apt-get install mysql-server mysql-client
2. Start the MySQL service using the following command:
sudo /etc/init.d/mysql start
3. Log in to the MySQL client as the root user (or any other user with database creation privileges).
mysql -u root -p
You will be prompted to enter the password.
Tip
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.
4. In the MySQL prompt, create the registry database using the following command.
create database regdb;
5. Give authorization of the registry database to the user "regadmin."
GRANT ALL ON regdb.* TO regadmin@localhost IDENTIFIED BY "regadmin"
6. Log out from the MySQL prompt by typing the "quit" command.
quit;
Setup Configuration Files
1. Edit the default database configuration defined in the master-datasources.xml
file located at $GREG_HOME/repository/conf/datasources
directory of the deployed registry instance as below. Both the database configurations in registry.xml
and user-mgt.xml
refer this data source.
Note
Replace these settings with your own custom values:
<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 $GREG_HOME/repository/components/lib
directory.
Tip
Here, $GREG_HOME
refers to the directory where you are running the WSO2 Governance Registry instance.
Create Database
Automatic Database Creation
1. When you start the registry for the first time, use the -Dsetup
option. It will create all the tables in the given MySQL database.
- For Linux:
wso2server.sh -Dsetup
- For Windows:
wso2server.bat -Dsetup
2. The WSO2 Governance Registry is configured to run with MySQL database.
Manual Database Creation
1. Run the MySQL scripts for both registry and user manager (embedded inside the Registry) databases, provided with the WSO2 Governance Registry, using the below commands (outside the MySQL prompt).
mysql -u regadmin -p -Dregdb < 'GREG_HOME/dbscripts/mysql.sql';
Note
You will be prompted to enter the password for each command.
2. Start the WSO2 registry instance.
- For Linux:
wso2server.sh
- For Windows:
wso2server.bat