Skip to content

MySQL

Reads data from MySQL tables.

Configuration

yaml
source:
  kind: mysql
  connection_string: ${MYSQL_CONNECTION_STRING}
FieldDefaultDescription
connection_string(required)MySQL connection string (e.g. mysql://user:pass@host:3306/db)
tables(auto-discover)Optional list of schema.table names to ingest
batch_size_rows10000Rows per ingest batch

Namespace: mysql.{database}.{schema}.{table}

CLI

bash
skippr connect source mysql \
  --connection-string 'mysql://user:pass@host:3306/db' \
  --tables customers,orders
FlagDescription
--connection-stringMySQL connection string
--tablesComma-separated list of tables (omit to discover all)

CDC

MySQL supports real-time Change Data Capture via binlog replication. Add cdc_enabled: true to the source config and configure a pipeline cdc: block.

See CDC Sources -- MySQL for prerequisites, configuration, and resume behavior.