Installing a Database


The following databases are supported:

PostgreSQL

12, 13, 14, 15

MySQL

8.0.x

PostgreSQL

PostgreSQL for Linux

  1. Create a blank database on the server. An already existing database can be used, but this is not recommended.

  2. Add a user that will be used as the owner of the related tables but also to authenticate with the server.
    In order to install or perform upgrades, this database user will require DDL (Data Definition Language) permission in the database during the installation or upgrade.
    Once the installation or upgrade has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions.

Here is how to configure the database for a local installation where the database server is on the same host. For multi-node installation please refer to your database administrator.

Note

The following steps require administrative privilege, be sure that you have the correct access before continuing.


  • Install a PostgreSQL database server.

  • Once the installation is complete, initialize the PostgreSQL database.

  • Enable and start the PostgreSQL Server:

# systemctl enable postgresql

# systemctl start postgresql

  • Create a user for UDMG Server

Login as PostgreSQL administrative user, start the PostgreSQL Console (psql) and create the database user for UDMG:

# sudo su - postgres
$ psql
psql (14.3)
Type "help" for help.

postgres=#

CREATE DATABASE udmg;
CREATE USER udmg_user WITH ENCRYPTED PASSWORD 'udmg_password';
GRANT ALL PRIVILEGES ON DATABASE udmg TO udmg_user;

Note

For PostgreSQL 15, the default user permissions have changed, see https://www.postgresql.org/about/news/postgresql-15-released-2526 and the following is also required

ALTER DATABASE udmg OWNER TO udmg_user;
  • Finally change the pg_hba.conf, to allow database connection with password. For example, for a system where the database server is on the same host as the UDMG server, by changing this line from:

host all all 127.0.0.1/32 ident

to:

host all all 127.0.0.1/32 md5

The exact configuration depends on the OS and database version, on the preferred security settings, and on the system architecture.

The location of the pg_hba.conf can be returned by psql:
$ sudo su - postgres
$ psql
postgres=# SHOW hba_file;

PostgreSQL for Windows

  1. Create a blank database on the server. An already existing database can be used, but this is not recommended.

  2. Add a user that will be used as the owner of the related tables but also to authenticate with the server.
    In order to install or perform upgrades, this database user will require DDL (Data Definition Language) permission in the database during the installation or the upgrade.
    Once the install or upgrade has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions.

Here is how to configure the database for a local installation where the database server is on the same host. For multi-node installation please refer to your database administrator.

The following steps require Administrator privilege, be sure that you have the correct access before continuing.

  • Install a PostgreSQL database server.

  • Once the installation is complete, initialize the PostgreSQL database.

  • Start the PostgreSQL Server:

For example, from the Service Management Console management:

  • Create a user for UDMG Server

Login as PostgreSQL user, start the PostgreSQL Console (psql) and create the database user:

postgres=# create database udmg;
CREATE DATABASE
postgres=# create user udmg_user with encrypted password 'udmg_password';
CREATE ROLE
postgres=# grant all privileges on database udmg to udmg_user;
GRANT

Finally change the pg_hba.conf, to allow database connection with password.

For example, for a system where the database server is on the same host as the UDMG server, by changing this line from:

host all all 127.0.0.1/32 ident

to:

host all all 127.0.0.1/32 scram-sha-256

For a system where the database server is on the same subnet as the UDMG server, change it to:

host all all samenet scram-sha-256

The exact configuration depends on the OS and database version, on the preferred security settings, and on the system architecture.

The location of the pg_hba.conf can be returned by PostgreSQL Console (psql):

postgres=# SHOW hba_file;

The current password encryption method can be returned by PostgreSQL Console (psql):

postgres=# SHOW password_encryption;

MySQL

MySQL for Linux

Step 1

Download MySQL installation instructions.

Step 2

Download the installation package from the official MySQL site.

  • For 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.

  • For Linux, enable and start the MySQL Server:

# systemctl enable mysql

# systemctl start mysql

Step 4

Create a blank database on the server. An already existing database can be used, but this is not recommended.

mysql> CREATE DATABASE udmg;
Step 5

Add a user that will be used as the owner of the related tables but also to authenticate with the server.
In order to install or perform upgrades, this database user will require DDL (Data Definition Language) permission in the database during the installation or the upgrade.
Once the installation or upgrade has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions.

mysql> CREATE USER 'udmg_user'@ IDENTIFIED BY 'udmg_password';
mysql> GRANT ALL PRIVILEGES ON udmg.* TO 'udmg_user'@ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

MySQL for Windows

Step 1

Download MySQL installation instructions.

Step 2

Download the installation package from the official MySQL site.

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

Step 3

Install MySQL as per the instructions.

Step 4

Create a blank database on the server. An already existing database can be used, but this is not recommended.

mysql> CREATE DATABASE udmg;
Step 5

Add a user that will be used as the owner of the related tables but also to authenticate with the server.
In order to install or perform upgrades, this database user will require DDL (Data Definition Language) permission in the database during the installation or the upgrade.
Once the installation or upgrade has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions.

mysql> CREATE USER 'udmg_user'@ IDENTIFIED BY 'udmg_password';
mysql> GRANT ALL PRIVILEGES ON udmg.* TO 'udmg_user'@ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

Step 6

The database content will be created automatically on the first run of the UDMG Server.