Knowledge Hub Technologies MySQL / MariaDB
MySQL / MariaDB

On-premises MySQL (5.7, 8.x) and MariaDB, plus cloud-managed instances (Amazon RDS for MySQL, Google Cloud SQL for MySQL, Azure Database for MySQL). JDBC-based connectivity with metadata browsing, data preview, and read/write pipeline support.

Connection Fields

FieldRequiredDefaultDescription
Display NameYesA human-readable label for this connection, shown across the platform.
HostYesHostname or IP address of the MySQL or MariaDB server. For cloud-managed instances, use the endpoint provided by your cloud provider.
PortYes3306MySQL/MariaDB server port. Change only if your server uses a non-default port.
DatabaseYesThe default database (schema) to connect to. Used as the initial catalog for metadata browsing.
UsernameYesDatabase username.
PasswordYesDatabase password. Stored encrypted at rest using AES-256.
SSL ModeNoPREFERREDControls SSL behaviour. See SSL / TLS section below.
TimezoneNoServer timezoneSets the session timezone for JDBC operations (e.g., UTC). Recommended when the server and application timezones differ to avoid datetime offset issues.
Connection Timeout (s)No30Seconds before a connection attempt times out.
Additional JDBC ParametersNoOptional key=value pairs appended to the JDBC URL (e.g., characterEncoding=UTF-8&useUnicode=true). Separate multiple parameters with &.
MariaDB note: MariaDB uses a different JDBC driver class (org.mariadb.jdbc.Driver) from MySQL (com.mysql.cj.jdbc.Driver). DataKnits detects the server type automatically from the connection test response and applies the correct driver. If auto-detection fails, you can override the driver class in Additional JDBC Parameters using driverClassName=org.mariadb.jdbc.Driver.

Authentication Methods

SSL / TLS

The SSL Mode field controls whether and how SSL is enforced on the JDBC connection.

ModeDescriptionWhen to Use
DISABLEDNo SSL. All traffic is unencrypted.Internal development environments only. Not recommended for production.
PREFERREDUse SSL if the server supports it; fall back to unencrypted if not.Default. Provides encryption where available.
REQUIREDSSL required. Fails if the server does not support SSL. Server certificate is not validated.Cloud-managed MySQL instances where SSL is always enabled.
VERIFY_CASSL required. Server certificate validated against a trusted CA. Hostname not verified.Private cloud or on-premises with an internal CA.
VERIFY_FULLSSL required. Certificate validated and hostname must match the certificate CN/SAN.Highest security. Required for PCI-DSS and HIPAA deployments.

SSH Tunneling

When a MySQL instance is in a private subnet, DataKnits can route the JDBC connection through an SSH bastion host.

FieldRequiredDescription
SSH HostYesHostname or IP of the SSH bastion server.
SSH PortYesSSH port. Default: 22.
SSH UsernameYesLinux username on the bastion host.
SSH Private Key (PEM)Yes*PEM-encoded RSA or Ed25519 private key. Required if not using password authentication for SSH.
SSH PasswordYes*Bastion host password. Use only if a private key is not available.

When SSH tunnel is enabled, the Host field should be the address of the MySQL instance as reachable from the bastion host (e.g., an internal IP or private DNS name), not a public address.

Write Modes

When MySQL or MariaDB is configured as a pipeline target, the following write modes are available:

ModeBehaviour
OverwriteTruncates the target table and writes all incoming rows. Equivalent to TRUNCATE TABLE followed by batch INSERT.
AppendInserts all incoming rows without modifying existing data. No deduplication.
Upsert (Merge)Inserts new rows; updates rows where the key already exists. Generates INSERT INTO ... ON DUPLICATE KEY UPDATE .... Requires the target table to have a PRIMARY KEY or UNIQUE constraint on the merge key column(s).
Create if Not ExistsCreates the target table from the DataFrame schema if it does not exist, then appends data.

Known Limitations