Read from MySQL and MariaDB databases with connection pooling and SSL support
## Overview The MySQL / MariaDB connector enables DeltaForge to read data from MySQL 5.7+, MySQL 8.x, and MariaDB 10.x+ servers. Connections are configured through the GUI on the Configuration > Connections page. Once a connection is registered, remote tables are automatically discovered and appear in the catalog under the Database Tables section, where they can be browsed and queried using standard SQL with the zone.schema.table naming pattern. ## Configuration Database connections are not defined in SQL. Instead, use the Configuration > Connections page in the DeltaForge GUI to create a new MySQL or MariaDB connection. Provide the host, port, database, credentials, and any SSL or charset settings. After the connection is saved and tested, the connector introspects the target database and populates the catalog with the available tables. Once registered, remote MySQL tables can be queried directly: ```sql SELECT * FROM my_zone.mydb.orders WHERE order_date >= '2024-01-01'; ``` ## Authentication Authentication is performed using native MySQL password authentication over a TCP connection. SSL/TLS encryption is controlled by the ssl_mode option. For production workloads, setting ssl_mode to Require or higher is recommended to protect data in transit. When VerifyCa or VerifyFull mode is selected, the ssl_ca_cert option must point to the CA certificate that signed the server's TLS certificate. Passwords are stored in the secure credential vault and never persisted in plaintext. ## Key Options The connector supports two data-access modes: - **Table mode**: Set the table option to read from a specific table. The connector generates a SELECT * and can push WHERE predicates and column projections down to the source, reducing data transfer over the network. - **Query mode**: Set the query option to execute an arbitrary SQL statement on the source server. This enables pre-aggregated extracts, complex joins, and MySQL-specific features. The query is sent to the source as-is. Only one mode may be active at a time. - **charset**: Controls the character encoding for the connection. Defaults to utf8mb4, which supports the full Unicode range. Change only for legacy databases requiring a different encoding. - **max_connections**: Connection pool size. Connections are validated before use and automatically reconnected on transient failures. - **connect_timeout_secs**: Maximum wait time for establishing a new connection.