My SQL
Schema-driven source documentation.
MYSQL35 fields3 examples
Commonly Asked Questions
Assistant knowledge mapped to this source type from
assistant_knowledge.json.Required
Fields required for a valid configuration payload under `config.required`.
| Path | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| required | object | Yes | — | — | no extra properties |
| required.host | string | Yes | MySQL host | localhost | — |
| required.port | integer | Yes | MySQL port | 3306 | min 1, max 65535 |
Masked
Sensitive fields under `config.masked` (secrets/credentials).
| Path | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| masked | object | Yes | — | — | no extra properties |
| masked.password | string | Yes | Database password | — | — |
| masked.username | string | Yes | Database username | — | — |
Optional
Optional configuration fields under `config.optional`.
| Path | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| optional | object | No | — | — | no extra properties |
| optional.connection | object | No | Connection tuning for MySQL. | — | no extra properties |
| optional.connection.connect_timeout_seconds | integer | No | Connection timeout in seconds | 10 | min 1, max 120 |
| optional.scope | object | No | Database and table selection scope. | — | no extra properties |
| optional.scope.database | string | No | Single database to scan (optional when include_all_databases is true) | — | — |
| optional.scope.exclude_databases | array | No | Database denylist (exact database names) | ["information_schema","mysql","performance_schema","sys"] | — |
| optional.scope.exclude_databases[] | string | No | — | — | — |
| optional.scope.include_all_databases | boolean | No | Scan all visible databases except excluded system databases | false | — |
| optional.scope.include_tables | array | No | Optional table allowlist. Accepted forms: table or database.table | — | — |
| optional.scope.include_tables[] | string | No | — | — | — |
| optional.scope.table_limit | integer | No | Optional cap on number of table assets extracted per database | — | min 1 |
Examples
Reference payloads generated from shared source examples JSON.
Scan a single MySQL database with random row sampling
Extract table assets from one MySQL database and sample random rows for detector content
Schedule
{
"enabled": true,
"preset": "weekday_business",
"cron": "11 11 * * 1-5",
"timezone": "UTC"
}Config Payload
{
"type": "MYSQL",
"required": {
"host": "localhost",
"port": 3306
},
"masked": {
"username": "root",
"password": "example"
},
"optional": {
"scope": {
"database": "app_db"
}
},
"sampling": {
"strategy": "RANDOM",
"limit": 20,
"max_columns": 20,
"max_cell_chars": 512
}
}Scan all MySQL databases with latest-row sampling
Enumerate visible MySQL databases and prioritize latest records when sampling detector payloads
Schedule
{
"enabled": true,
"preset": "nightly",
"cron": "43 1 * * *",
"timezone": "UTC"
}Config Payload
{
"type": "MYSQL",
"required": {
"host": "localhost",
"port": 3306
},
"masked": {
"username": "root",
"password": "example"
},
"optional": {
"scope": {
"include_all_databases": true,
"exclude_databases": [
"information_schema",
"mysql",
"performance_schema",
"sys"
]
}
},
"sampling": {
"strategy": "LATEST",
"limit": 30,
"order_by_column": "updated_at",
"fallback_to_random": true
}
}Scan selected MySQL tables with detector pipeline
Limit extraction to selected tables and run secrets + PII detectors on sampled rows
Schedule
{
"enabled": true,
"preset": "weekday_morning",
"cron": "37 8 * * 1-5",
"timezone": "UTC"
}Config Payload
{
"type": "MYSQL",
"required": {
"host": "localhost",
"port": 3306
},
"masked": {
"username": "root",
"password": "example"
},
"optional": {
"scope": {
"database": "analytics",
"include_tables": [
"analytics.customers",
"analytics.orders"
]
}
},
"sampling": {
"strategy": "RANDOM",
"limit": 15,
"max_total_chars": 15000
},
"detectors": [
{
"type": "SECRETS",
"enabled": true
},
{
"type": "PII",
"enabled": true
}
]
}