Skip to main content
ServiceEnterprise
Availability2024.1

Install MySQL

Using an approved distribution

Secure MySQL

Hardening before database setup

Create the GermainUX Databases

Two databases and init scripts

Production Checklist

Contact support before launch

Overview

GermainUX supports MySQL as an on-premise datastore. MySQL may be appropriate when:
  • Your organization already operates MySQL.
  • Database administrators have established MySQL backup, security, and monitoring procedures.
  • A relational datastore is required.
  • The expected GermainUX ingestion and analytics workload has been validated against MySQL.
Elasticsearch remains the preferred datastore for new, high-volume GermainUX deployments. Before selecting MySQL, review the Datastore Recommendation and Benchmark.

MySQL Deployment Options

GermainUX can use a standard MySQL deployment or a highly available MySQL architecture approved by your organization. A clustered architecture can provide: The appropriate architecture depends on data volume, retention, availability requirements, and internal MySQL standards.

Before You Begin

Confirm with Germain Software:
  • The MySQL version supported by your GermainUX release
  • Required JDBC driver version
  • Character set and collation
  • Schema scripts required for the release
  • Expected daily AA Unit volume
  • Retention requirements
  • Storage and performance requirements
  • High-availability requirements
  • Upgrade or migration requirements
Do not install or upgrade MySQL independently of GermainUX compatibility requirements.

Requirements

Prepare:
  • A supported 64-bit operating system
  • A supported MySQL Server version
  • Administrative access to MySQL
  • A supported MySQL JDBC driver
  • Network connectivity from GermainUX Enterprise
  • Sufficient CPU, memory, SSD storage, and IOPS
  • Backup and recovery procedures
  • TLS and authentication
  • The GermainUX Service distribution package
See:

Install MySQL

Use your organization’s approved MySQL distribution and installation process.

Debian or Ubuntu

Update the package index and install MySQL Server:
Confirm that the service is running:
Run the MySQL security configuration provided by the installed distribution and configure an administrative account according to your security policies. If a specific MySQL version is required, obtain it from the MySQL Community Downloads archive or your approved internal repository.

Red Hat Enterprise Linux or Compatible Distribution

Configure an approved MySQL repository for the operating-system version, then install and start MySQL Server using the system package manager. Example:
Repository names and commands vary by operating-system and MySQL version. Use the current package provided for your distribution rather than an obsolete repository package.

Windows

Download and install:
  1. Download the MySQL Installer for Windows.
  2. Run the installer with administrator privileges.
  3. Select Server Only for a production database host, or Custom when additional tools are required.
  4. Configure the MySQL service.
  5. Configure the administrative account.
  6. Enable TCP/IP connectivity.
  7. Configure TLS.
  8. Complete the installation.
  9. Confirm that the MySQL Windows service is running.
Install MySQL Workbench only when a graphical administration tool is required.

Secure MySQL

Before creating the GermainUX databases:
  • Remove anonymous users.
  • Disable unnecessary remote administrative access.
  • Do not use default or example passwords.
  • Require strong, unique credentials.
  • Enable TLS for GermainUX connections.
  • Restrict access by host and network.
  • Apply least-privilege permissions.
  • Protect credentials outside source control.
  • Configure audit logging when required.
  • Define credential-rotation procedures.
Do not use the MySQL root account as the GermainUX runtime account.

Create the GermainUX Databases

GermainUX uses two MySQL databases: The release package includes the SQL scripts required to create and initialize these databases.

1 1. Extract the Service Distribution

Extract the GermainUX Service release package to a directory referenced below as:

2 2. Review the Database Instructions

Open:
This file defines the scripts and execution order for the specific GermainUX release. Always follow the instructions supplied with the release being installed.

3. Locate the MySQL Scripts

The MySQL scripts are located under:

4. Update the Initial Setup Script

Open:
Replace the example passwords associated with:
Use strong, unique credentials approved by your organization. Do not retain example credentials such as:
These values are placeholders only and must not be used in production.

5. Run basic-setup.sql

Execute:
The script creates:
  • apm_config
  • apm_datamart
  • The corresponding GermainUX database accounts and permissions
Review the script before execution to confirm that database names, users, hosts, and permissions match your architecture.

6. Initialize apm_config

Select:
Run each:
script in the sequence specified by:

7. Initialize apm_datamart

Select:
Run each:
script in the required sequence. Do not skip scripts or change the order unless instructed by Germain Software.

Configure GermainUX Enterprise

Configure GermainUX Enterprise with:
  • MySQL hostname
  • MySQL port
  • apm_config database name
  • apm_datamart database name
  • Dedicated database usernames
  • Securely stored passwords
  • TLS settings
  • Connection-pool settings
  • Query and connection timeouts
  • JDBC driver
The default MySQL port is commonly:
Use the actual port configured in your environment. Place the supported MySQL JDBC driver in the location specified by the GermainUX Enterprise installation guide.

Validate the Setup

Before starting production monitoring:
1

Connect to MySQL using each GermainUX service account

2

Confirm that both databases exist

3

Confirm that all required tables and indexes were created

4

Verify that GermainUX Enterprise can connect

5

Start GermainUX Enterprise

6

Review logs for schema or permission errors

7

Confirm that GermainUX configuration can be saved

8

Ingest a limited monitoring workload

9

Confirm that data is written to apm_datamart

10

Open representative dashboards and analyses

11

Test retention and cleanup

12

Measure query and ingestion performance

Backup and Recovery

Configure backups for both:
The backup strategy should include:
  • Regular full backups
  • Incremental or binary-log recovery where required
  • Off-host backup storage
  • Encryption
  • Retention
  • Monitoring of backup failures
  • Periodic restore testing
The configuration and datamart databases may have different recovery and retention requirements.

Performance and Capacity

Monitor:
  • CPU and memory
  • Disk capacity
  • Disk latency and IOPS
  • Connection count
  • Buffer-pool utilization
  • Query latency
  • Lock contention
  • Replication lag
  • Table and index growth
  • Backup duration
  • Slow queries
Reassess capacity when monitoring scope, Session Replay, data retention, or user volume increases.

Production Checklist

  • The MySQL version is supported by GermainUX.
  • The required JDBC driver is installed.
  • TLS is enabled.
  • Administrative access is restricted.
  • Dedicated GermainUX accounts are configured.
  • Example passwords have been replaced.
  • apm_config has been initialized.
  • apm_datamart has been initialized.
  • All scripts ran in the documented sequence.
  • GermainUX Enterprise connects successfully.
  • Backups are configured.
  • A restore has been tested.
  • Capacity and performance monitoring are enabled.
  • High availability has been validated when required.
For supported versions, database scripts, migration assistance, or production sizing, contact Germain Software.

Get Help

Contact GermainUX Support

The GermainUX team helps you get up and running faster, empower your team, turn data into actionable insights, and optimize performance to deliver measurable business outcomes.

Can't find what you need?

Search all GermainUX docs with Ctrl + K, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.