Installing a Database

Installing a Database

Overview

Universal Controller can use a database space of an existing database or you can install a database specifically for the Controller.

We recommend an initial size of 100MB.
 

Note

In a High Availability environment, each cluster node connects to the same database.

Database Permissions

In order to install Universal Controller, the database user configured for the Controller will require DDL (Data Definition Language) permission in the database during the install.

Once the install has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions for running the Controller.

Database Management Systems

The following database management systems are supported:

Databases that are compatible with and use the same JDBC drivers as the supported databases are also supported, for example AWS RDS (MySQL), MariaDB (MySQL), or Azure SQL Database (SQL Server).  We recommend that customers periodically review the database documentation for Incompatibilities and Feature Differences as these may change over time.

MySQL

Info

MySQL 8.0.x is supported.

Step 1

Download MySQL installation instructions.

Step 2

Download MySQL (Windows only).

  • For Windows, select Windows (x86, 32-bit), MSI Installer

  • For Unix and Linux, you can use a tar.gz download or select a systems package installer appropriate for your environment, such as Yum.

Step 3

Install MySQL as per the instructions.

Step 4

Make a note of the user ID and password to be used later when installing the Controller.

Step 5

The database will be created automatically when you select MySQL during the Controller installation process.

MySQL Options

The following enhancements can be made to your MySQL database.

Speeding Up MySQL Performance

For Windows installations, you can speed up MySQL performance by adding the following parameter to the appropriate MySQL.ini file:
 

innodb_flush_log_at_trx_commit=0

For more information about this parameter, see the MySQL documentation:

Setting the MySQL max_allowed_packet Configuration Variable

A communication packet is a single SQL statement sent to the MySQL server, a single row that is sent to the client, or a binary log event sent from a master replication server to a slave.

If you want the Controller to handle big packets, you must increase the MySQL max_allowed_packet configuration variable on the database server.

For detailed information about this variable, refer to:

MySQL SSL/TLS Configuration

If you use SSL/TLS for JDBC communication to your MySQL environment, some additional configuration is required (depending on your needs).

The MySQL configuration property sslMode can be used to control the SSL behavior for database connections.

By default, network connections are SSL encrypted; the sslMode property permits secure connections to be turned off or different levels of security to be selected.

The following sslMode values are allowed:

sslMode Value

Description

sslMode Value

Description

"DISABLED"

Establish unencrypted connections.

"PREFERRED"

Establish encrypted connections if the server enabled them, otherwise fall back to unencrypted connections. (Default value)

"REQUIRED"

Establish secure connections if the server enabled them, fail otherwise.

"VERIFY_CA"

Similar to REQUIRED; but additionally, verify the server TLS certificate against the configured Certificate Authority (CA) certificates.

"VERIFY_IDENTITY"

Similar to VERIFY_CA; but additionally, verify that the server certificate matches the host to which the connection is attempted.