Skip to content

Configuring QIE with MariaDB

This is the default database that is installed as part of the QIE install. A default user qie (with password qie) and schema qie are created. The schema name, username, and password can be customized during install if you prefer different values.

Minimum version

QIE requires MariaDB 10.4 or later.

Create a QIE Database Schema

Using the MySQL Workbench or a similar tool, connect to the MariaDB database server where the QIE database resides and create a database schema called 'qie' or whichever name you wish to use for the QIE related database.

Create a Database User with DB Owner Privileges to the QIE Database Schema

Create a database user to be used by QIE for connecting to the QIE database schema created above. This user must be configured with full privileges to the QIE database schema as the QIE application handles the creation and management of all database tables, indexes, etc. Ensure that the default database associated with the user is set to the QIE database schema created above.

Setup In-Memory Tables (High Availability Only)

In-Memory tables are required for High Availability in QIE. MariaDB allows for In-Memory tables by default.

Configure the QIE Service Manager to connect to MariaDB

Add the following Java Options in the Arguments on the Startup tab of the QIE Service Manager:

-Dconnection.driver=org.mariadb.jdbc.Driver
-Dconnection.url=jdbc:mariadb://{server}:{port, default=3306}/{database, default=qie}
-Dhibernate.dialect=com.qvera.qie.persistence.MariaDB114UnicodeDialect
-Dconnection.username=???
-Dconnection.password=???

Note

Use the following list to select your correct MariaDB Server dialect:

MariaDB 10.4, use MariaDB103UnicodeDialect

MariaDB 10.5, use MariaDB103UnicodeDialect

MariaDB 10.6, use MariaDB106UnicodeDialect

MariaDB 10.7, use MariaDB107UnicodeDialect

MariaDB 10.11, use MariaDB1011UnicodeDialect

MariaDB 11.4+, use MariaDB114UnicodeDialect

For MariaDB versions prior to 5.3, use MariaDB53UnicodeDialect.

Note

Refer to the Database Related Java Options section of this guide for a complete description of each of the above options

Connecting to MariaDB over TLS

To require an encrypted connection between QIE and the MariaDB server, append sslMode to the -Dconnection.url value. MariaDB Connector/J 3.x supports these modes:

Mode Behavior
disable Plain-text connection (default).
trust TLS is used, but the server's certificate is not validated.
verify-ca TLS is used, and the server's certificate must chain to a trusted CA.
verify-full Same as verify-ca plus the server's hostname must match the certificate's Common Name / SAN.
-Dconnection.url=jdbc:mariadb://<server>:3306/<qie-db>?sslMode=verify-full

For verify-ca or verify-full, the CA that signed the server's certificate must be trusted by the QIE host's JVM. Either import it into the default JRE truststore, or point QIE at a separate truststore with -Djavax.net.ssl.trustStore=/path/to/truststore.jks and -Djavax.net.ssl.trustStorePassword=<password> in the Service Manager Java Options.