{"library":"apache-airflow-providers-mysql","title":"Apache Airflow MySQL Provider","type":"library","description":"The Apache Airflow MySQL Provider enables seamless interaction with MySQL databases within Airflow DAGs. It offers operators and hooks to execute SQL queries, transfer data, and manage connections. As part of the Airflow ecosystem, it receives regular updates, with the current version being 6.5.1, requiring Python >= 3.10.","language":"python","status":"active","last_verified":"Wed May 20","install":{"commands":["pip install apache-airflow-providers-mysql"],"cli":null},"imports":["from airflow.providers.mysql.hooks.mysql import MySqlHook","from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator","from airflow.providers.mysql.operators.mysql import MySqlToS3Operator"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://airflow.apache.org","github":"https://github.com/apache/airflow","docs":"https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.5.3","changelog":"https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.5.3/changelog.html","pypi":"https://pypi.org/project/apache-airflow-providers-mysql/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"from __future__ import annotations\n\nimport pendulum\n\nfrom airflow.models.dag import DAG\nfrom airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator\n\n# Ensure you have a MySQL connection named 'mysql_default' configured in Airflow UI\n# Host: localhost, Schema: airflow_db, User: airflow, Pass: airflow\n\nwith DAG(\n    dag_id=\"mysql_quickstart_dag\",\n    start_date=pendulum.datetime(2023, 1, 1, tz=\"UTC\"),\n    catchup=False,\n    schedule=None,\n    tags=[\"mysql\", \"example\"],\n) as dag:\n    create_table = SQLExecuteQueryOperator(\n        task_id=\"create_test_table\",\n        conn_id=\"mysql_default\",\n        sql=\"\"\"\n            CREATE TABLE IF NOT EXISTS test_table (\n                id INT AUTO_INCREMENT PRIMARY KEY,\n                name VARCHAR(255)\n            );\n        \"\"\",\n    )\n\n    insert_data = SQLExecuteQueryOperator(\n        task_id=\"insert_test_data\",\n        conn_id=\"mysql_default\",\n        sql=\"INSERT INTO test_table (name) VALUES ('Airflow User 1'), ('Airflow User 2');\",\n    )\n\n    select_data = SQLExecuteQueryOperator(\n        task_id=\"select_test_data\",\n        conn_id=\"mysql_default\",\n        sql=\"SELECT * FROM test_table;\",\n    )\n\n    create_table >> insert_data >> select_data\n","lang":"python","description":"This quickstart demonstrates how to use `SQLExecuteQueryOperator` to interact with a MySQL database. It creates a table, inserts data, and then selects it. Ensure you have a MySQL connection named `mysql_default` configured in your Airflow UI.","tag":null,"tag_description":null,"last_tested":"2026-04-24","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":"stale","tag_description":"widespread failures or data too old to trust","last_tested":"2026-05-20","installed_version":null,"pypi_latest":"6.5.3","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.7,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"apache-airflow-providers-mysql","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}