---
title: MySQL
description: Connect MySQL, understand its sync behavior, and query every table and column it writes.
species: reference
---
# MySQL

Connect MySQL with a connection string, optionally through an SSH tunnel. The source writes tables and columns discovered from the selected database under `titan.mysql_<database_name>`.
## Connect MySQL

1. Open **Apps**, choose **Connect app**, and select **MySQL**.
2. Enter a connection string, optionally through an SSH tunnel.
3. Review the tables, then save the source.
4. Watch **Sync history** until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

## Sync behavior

Supernova reads source metadata before each run. Two connections that would resolve to the same lake schema are refused.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the [system columns](/v2/docs/concepts/your-lake#the-system-columns) `_synced_at` and `_deleted`; the column reference below lists source columns only.

## Table reference

Supernova discovers this reference from the connected account. information_schema supplies source schemas, tables, columns, keys, and types. The Tables tab shows the exact reference for your database.

Open **Apps → MySQL → Tables** after the first discovery run to see every exact table name, column name, type, and sync selection. Dynamic fields cannot be listed truthfully before an account is connected.

## Deletes and history

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets `_deleted` so queries can choose whether to include history. Filter current-state queries with `where not _deleted`.
