Skip to main content

aidp-mysql

Read or write MySQL or OCI MySQL HeatWave from an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions MySQL, HeatWave, MySQL Database Service, MDS, or has a MySQL host/port. Auth is host/port + user/password.

Source facts

Repository
oracle-samples/oracle-aidp-samples
Last source activity
June 26, 2026 at 15:45
Detected SKILL.md language
English
Stars
47
Forks
32

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions ยท Read-only preview
name
aidp-mysql
description
Read or write MySQL or OCI MySQL HeatWave from an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions MySQL, HeatWave, MySQL Database Service, MDS, or has a MySQL host/port. Auth is host/port + user/password.
allowed-tools
Read, Write, Edit, Bash
# `aidp-mysql` โ€” MySQL / OCI MySQL HeatWave via AIDP `aidataplatform` Covers both **on-prem / generic MySQL** (`type=MYSQL`) and **OCI MySQL HeatWave** (`type=MYSQL_HEATWAVE`). The option shape is identical; only the `type` differs. For most workloads pick `MYSQL` and the connector will route correctly. Choose `MYSQL_HEATWAVE` to get HeatWave-aware optimizations (the AIDP connector pushes down compatible ops to the HeatWave accelerator). ## When to use - Read or write MySQL or OCI HeatWave from an AIDP notebook. - Mentioned: "MySQL", "HeatWave", "MDS", "MySQL Database Service". ## When NOT to use - For Postgres โ†’ [`aidp-postgresql`](../aidp-postgresql/SKILL.md). - For SQL Server โ†’ [`aidp-sqlserver`](../aidp-sqlserver/SKILL.md). ## Read ```python import os from oracle_ai_data_platform_connectors.aidataplatform import ( AIDP_FORMAT, aidataplatform_options, ) opts = aidataplatform_options( type=os.environ.get("MYSQL_TYPE", "MYSQL"), # or "MYSQL_HEATWAVE" host=os.environ["MYSQL_HOST"], port=int(os.environ.get("MYSQL_PORT", "3306")), user=os.environ["MYSQL_USER"], password=os.environ["MYSQL_PASSWORD"], schema=os.environ["MYSQL_SCHEMA"], # MySQL schema = database name table=os.environ["MYSQL_TABLE"], ) df = spark.read.format(AIDP_FORMAT).options(**opts).load() df.show(5) ``` ## Write ```python opts = aidataplatform_options( type="MYSQL", host=os.environ["MYSQL_HOST"], port=int(os.environ.get("MYSQL_PORT", "3306")), user=os.environ["MYSQL_USER"], password=os.environ["MYSQL_PASSWORD"], schema=os.environ["MYSQL_SCHEMA"], table=os.environ["MYSQL_TARGET_TABLE"], extra={"write.mode": "CREATE"}, ) df.write.format(AIDP_FORMAT).options(**opts).save() ``` ## Gotchas - **`schema` = MySQL database name.** MySQL conflates "schema" and "database"; pass the database name as `schema`. - **HeatWave routing** โ€” pass `type=MYSQL_HEATWAVE` to enable HeatWave-aware predicate pushdown. The MySQL DB Service still works under `type=MYSQL`; you only get HeatWave acceleration with the explicit type. - **Default port 3306** for MySQL / HeatWave; OCI HeatWave Lakehouse exposes port 33060 (XAPI) โ€” use `MYSQL_PORT=33060` for that case. - **Network reachability** โ€” same constraint as PostgreSQL: must be reachable from the AIDP cluster's VCN. ## References - Helper: [scripts/oracle_ai_data_platform_connectors/aidataplatform.py](../../scripts/oracle_ai_data_platform_connectors/aidataplatform.py) - Official sample (MYSQL): [oracle-samples/oracle-aidp-samples โ†’ `data-engineering/ingestion/Read_Write_External_Ecosystem_Connectors.ipynb`](https://github.com/oracle-samples/oracle-aidp-samples/blob/main/data-engineering/ingestion/Read_Write_External_Ecosystem_Connectors.ipynb) - Official sample (MYSQL_HEATWAVE): [oracle-samples/oracle-aidp-samples โ†’ `data-engineering/ingestion/Read_Only_Ingestion_Connectors.ipynb`](https://github.com/oracle-samples/oracle-aidp-samples/blob/main/data-engineering/ingestion/Read_Only_Ingestion_Connectors.ipynb)
View on GitHub