Working with Databases

WSO2 API Manager is shipped with an H2 database for storing data. These default databases are located in the <API-M_HOME>/repository/database directory of the product pack.

Default databases

Explained below are the default databases that you will find in the database directory.

  • AM database WSO2 API Manager has this database keeping its specific API-M related data.
  • Shared database This database contains the registry and user management data.
  • Carbon database: This database has the internal data related to the product. This data is stored in the embedded H2 database.
  • Metrics database: This database has the metrics monitoring data. This data is stored in the embedded H2 database.
  • MB database: This database has the message brokering data.


Do not share WSO2MB_DB among the nodes in an Active-Active set-up or Traffic Manager HA scenario, because each node should have its own local WSO2_MB_STORE_DB database to act as separate Traffic Managers.

Following image shows the default databases and the data that are stored in each database.

Data bases

Changing the default databases

The embedded H2 databases shipped with your product are suitable for suitable for development and testing environments. However, for production environments, it is recommended to use an industry-standard RDBMS such as Oracle, PostgreSQL, MySQL, MS SQL, etc.

WSO2 products are shipped with scripts for creating the required tables in all the required databases: The scripts for creating tables for apim, user management and registry data are stored in the <API-M_HOME>/dbscripts folder.

Changing the default database: You simply have to set up new physical databases, point the product server to the new databases by updating the relevant configuration files, and create the required tables using the scripts provided in the product pack. See the following topics for instructions: