Skip to content

CDC: MySQL to Snowflake | Real-Time Replication Guide

Real-time Change Data Capture from MySQL to Snowflake with exactly-once delivery, order-token guards, and tombstone anti-resurrect protection.

Source: MySQL. Destination: Snowflake.

CDC apply: MERGE DML.

Sample config

yaml
skippr:
  workspace: cdc_mysql_to_snowflake
pipelines:
  cdc_mysql_to_snowflake:
    data_source: data_sources.source
    data_sink: data_sinks.warehouse
    cdc:
      default:
        business_key_columns:
          - id
data_sources:
  source:
    Mysql:
      connection_string: "mysql://replicator:${MYSQL_PASSWORD}@host:3306/mydb"
      cdc_mode: snapshot_then_cdc
data_sinks:
  warehouse:
    Snowflake:
      database: ANALYTICS
      schema: RAW
      warehouse: COMPUTE_WH

Environment

bash
export SNOWFLAKE_ACCOUNT="MYORG-MYACCOUNT"
export SNOWFLAKE_USER="skippr_svc"
export SNOWFLAKE_PRIVATE_KEY_PATH="/path/to/snowflake_key.p8"

Source connector: mysql. Destination connector: snowflake.

See CDC overview.