From EasyAccess version 4.0 onwards, the possibility exists to use an external database server which can be either a MySQL or an MSSQL database (details for HSQLDB are also included in this section but this is usually only the default internal database). These databases can be running on a separate computer or the same computer as an EasyAccess server. If an EasyAccess installation is to be part of a cluster then an external database server must be used instead of the internal database.
This section will not discuss setting up these external databases in depth. The documentation related to each database product should be referenced for the setup procedure. However, this section will describe the changes to EasyAccess that must be made in order to get the EasyAccess server to use an external database instead of its internal database.
Configuring EasyAccess to use an External Database
To change the EasyAccess server configuration to use an external database, go to the EasyAccess/Server/config folder and open the boot.json file in a suitable text editor.Locate the following section:
{ "name": "com.phenixidentity~phenix-store-mpl", "config": { " " } },
Replace the above section with one of the following, depending on the type of database used:
For the default internal HSQLDB database:
{ "name": "com.phenixidentity~phenix-store-mpl", "config": { "user": "phenixid", "password": "<password>", "encryption.key": "<encryptionkey>", "export_start": "15:00", "driver_class": "org.hsqldb.jdbc.JDBCDriver", "dataretention": "60", "is_server": "true", "server.address": "0.0.0.0", "url": "jdbc:hsqldb:hsql://localhost:9001/phenixid" } }
For an external MySQL database:
{ "name": "com.phenixidentity~phenix-store-mpl", "config": { "user": "<user_name>", "password": "<password>", "encryption.key": "<encryptionkey>", "export_start": "15:00", "driver_class": "com.mysql.cj.jdbc.Driver", "dataretention": "60", "is_server": "false", "url": "jdbc:mysql://172.24.0.3:3306/phenixid" } }
For an external MSSQL database:
{ "name": "com.phenixidentity~phenix-store-mpl", "config": { "user": "dummy", "password": "dummy", "encryption.key": "<encryptionkey>", "export_start": "15:00", "driver_class": "com.microsoft.sqlserver.jdbc.SQLServerDriver", "dataretention": "60", "is_server": "false", "url": "jdbc:sqlserver://172.24.0.3:1433;instance=sqlexpress; databaseName=phenixid;integratedSecurity=true;" } }
Note the following about the above changes:
For MySQL and MSSQL, the parameter "url" will be dependent on the database of choice. This value should be provided by the person(s) responsible for the database configuration.
The default database name, "phenixid", can be changed for MySQL and MSSQL but NOT for the EasyAccess internal HSQLDB database. For HSQLDB, the SQLConnector class must be changed and instructions for doing this can be found in the file Changedatabasename.zip which can be downloaded from the following link:
https://media.screensteps.com/attachment_assets/assets/004/134/741/original/Changedatabasename.zip
Initializing External Databases
Before restarting the modified EasyAccess so it tries to connect to an external database, the external databases themselves should be set up be available over a network to the EasyAccess server (this is not needed with the internal HSQLDB database). For details on installing the various external database options, each product's own documentation should be referred to. However, the following should be noted about the initial configuration for each database:For an external MySQL database:
The file mysql_phenixid.sql from the downloadable SQLImport.zip tools archive should be used to create the initial MySQL database structure.
For an external MSSQL database:
The file mssql_phenixid.sql from the downloadable SQLImport.zip tools archive should be used to create the initial MSSQL database structure.
The SQLImport.zip file can be downloaded from the following link:
https://media.screensteps.com/attachment_assets/assets/004/005/043/original/SQLImport.zip