Externalizing database

Since version 4.0 it is possible to externalise database. Verified database flavours are MSSQL and MySQL.

Integration is done through JDBC. Necessary dependencies are provided in the installation.  

Database and table creation must be manually created by an DBA or equivalent. The SQL script provided in this article should be verified against any local policies regarding usage of data types etc.

More information can be found here.

MySQL

In the boot.json file locate the "mpl module" and updates as shown below. Do not remove any configuration in the boot.json, unless absolute certain,  just update. 

{
         "name": "com.phenixidentity~phenix-store-mpl",
         "config": {
             "user": "<user_name>",
             "password": "<password>",
             "encryption.key": "mplencrypt",
             "export_start": "15:00",
             "driver_class": "com.mysql.jdbc.Driver",
             "dataretention": "60",
             "is_server": "false",
             "url": "jdbc:mysql://<dns_or_ip>:<port>/phenixid"
            }
}

When using MySQL ensure table names are case insensitive.

MS SQL (SQL authentication)

In the boot.json file locate the "mpl module" and updates as shown below. Do not remove any configuration in the boot.json, unless absolute certain,  just update.

{
         "name": "com.phenixidentity~phenix-store-mpl",
         "config": {
             "user": "<user_name>",
             "password": "<password>",
             "encryption.key": "mplencrypt",
             "export_start": "15:00",
             "driver_class": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
             "dataretention": "60",
             "is_server": "false",
             "url": "jdbc:sqlserver://<dns_or_ip>:<port>;databaseName=phenixid"
            }
}

Recommendation

When externalising database ensure the database user only has rights inserting, updating and deleting data in the phenixid database. No rights modifying tables etc. should be granted.