Configure external MySQL

Configure Splunk AppDynamics Virtual Appliance to use a self-managed MySQL service.

Use a new, dedicated MySQL database service. Do not create or use existing application tables before installation.

Storage Requirements

Ensure that you have sufficient storage on MySQL to create required PVCs.
Profile Storage
Medium 3000Gi
Extra Large 10000Gi
  1. Prepare a MySQL service that meets the supported contract.
    Requirement Value
    Version MySQL 8.4.8
    Endpoint Stable DNS endpoint for the current writable primary
    Authentication Static username and password
    TLS TLS 1.2 or higher with identity verification
    Table names lower_case_table_names=1, set before initial database creation
    Foreign key compatibility restrict_fk_on_non_standard_key=OFF
    Character set and collation utf8 and utf8_unicode_ci
    Storage and isolation InnoDB and READ-COMMITTED
    Transport require_secure_transport=ON
    Packet size Recommended 256M
    SQL strict mode sql_mode must include STRICT_TRANS_TABLES
    Timestamp defaults explicit_defaults_for_timestamp=1
    Stored-function creation log_bin_trust_function_creators=1
    Default time zone Europe/London
  2. Size and operate the database for the selected installation profile.
    Profile Minimum buffer pool Redo capacity Connections
    Medium 12288M 4096M 1000
    Extra large 40000M 16384M 2000
  3. Prepare the database accounts.

    Use a dedicated administrator that can create databases and users, grant privileges, manage application schema objects, and grant SESSION_VARIABLES_ADMIN where required.

    Provide passwords for the EUM and Auth application accounts. The installation creates or updates the application users, schemas, and tables.

    Warning: Avoid single quotation marks, backslashes, whitespace, carriage returns, and line breaks in database passwords. Do not rotate the administrator immediately after bootstrap; use the specific rotation procedure.
  4. Verify network, DNS, and TLS access from OpenShift.
    • Allow private traffic from the OpenShift workloads to the MySQL endpoint and allow the return path.
    • Confirm that pods resolve the endpoint and can reach its configured port.
    • Confirm that the endpoint DNS name appears in the server certificate SAN.
    • Provide the complete public CA chain.
  5. Configure the MySQL endpoint in config/external-mysql.yaml.
    CODE
    externalMysql:
      schemaVersion: 1
      endpoint:
        host: "appd-mysql.example.internal"
        port: 3306
      tls:
        enabled: true
        ca:
          source: <customerPem>

    Set source to customerPem, and save the complete PEM-encoded certificate chain at config/external-mysql-ca.pem.

    For customer-PEM, do not supply JKS, DER, and PKCS12 truststores.

  6. Add the external MySQL credentials to the protected config/secrets.yaml file.
    CODE
    mysql:
      external:
        rootUser: "appd_db_admin"
        rootPassword: "<database-admin-password>"
        rootHost: "%"
        eumDb: "eum_db"
        eumDbUser: "eum_user"
        eumDbPassword: "<eum-password>"
        authUser: "auth"
        authPassword: "<auth-password>"
        authSchemas:
          - mds_auth
          - mds_metadata
          - mds_rbac

    Keep config/secrets.yaml out of source control and restrict access to it.

  7. Validate MySQL before installation.

    From the OpenShift network, confirm the version, required server variables, available capacity, writable state, password authentication, and a TLS connection using host name verification.

Install Virtual Appliance with external services after you configure every external service required by the target release.