> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloud SQL for MySQL

> Cloud SQL for MySQL APIs with Cloud Adapter.

This page describes how Cloud SQL for MySQL maps to services in the environment where the application runs. Some profiles adapt origin API calls; others translate infrastructure or document target-native behavior.

## Supported environments

| Environment | Mapping |
| ----------- | ------- |
| AWS         | API     |
| Azure       | API     |

API means the profile adapts origin API behavior. Infrastructure means the profile changes provisioned resources or documents a target-native alternative without promising an origin API endpoint. Check the operation and capability tables for the behavior your application depends on.

## How the targets compare

Each row compares a capability of Cloud SQL for MySQL with its adaptation on each target.
A dash means this profile does not state the capability for that target.

### Cloud Adapter

| Capability   | Cloud SQL for MySQL | AWS  | Azure |
| ------------ | ------------------- | ---- | ----- |
| API coverage | full                | high | high  |

## On AWS

### RDS MySQL

| Operation                         | Area    | Support      | Depth        | Notes                                                                                                                                                                                    |
| --------------------------------- | ------- | ------------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connector / Auth Proxy handshake  | Connect | Partial      | Common       | The adapter handles the short-lived client certificate handshake required by Google's connector libraries before they connect.                                                           |
| IAM database authentication       | Connect | Partial      | Full surface | The build identifies the target's database-token authentication flow, which differs from Google's.                                                                                       |
| Point-in-time recovery            | Control | Supported    | Most usage   | backup retention and point-in-time recovery are provided by the target directly                                                                                                          |
| Regional high availability        | Control | Supported    | Common       | Regional high availability becomes an RDS Multi-AZ deployment.                                                                                                                           |
| authorizedNetworks                | Control | Out of scope | Most usage   | the counterpart is a security group and the mapping does not reach it, so an instance that declares authorized networks is flagged at the build                                          |
| databaseFlags                     | Control | Supported    | Most usage   | Database flags become an RDS parameter group.                                                                                                                                            |
| instances.insert / patch / delete | Control | Supported    | Common       | The instance becomes an RDS MySQL instance with mapped compute and storage capacity and a target-compatible engine version. The build identifies unsupported size or version selections. |
| users.insert / delete             | Control | Partial      | Most usage   | Users are created and deleted through SQL because the target has no managed users API.                                                                                                   |
| MySQL wire protocol               | Data    | Supported    | Common       | The application continues using the MySQL protocol with a managed MySQL server.                                                                                                          |

Cloud SQL for MySQL becomes an RDS MySQL instance. The application keeps using the MySQL protocol, with regional high availability mapped to Multi-AZ and point-in-time recovery provided by RDS.

### Connection setup and instance changes

The source management API and the database protocol serve different purposes. The adapter creates and configures the target instance and handles the connector certificate exchange; SQL then uses the target engine. Verify the complete connection sequence with the actual client library, including token acquisition and certificate renewal.

### Moving the database

Provisioning a target instance does not copy data, users, or backup history. Transfer the required database state, stop or coordinate writes for the final cutover, and test reconnection after target failover. Select the target engine version and settings together with the application's extension and authentication requirements.

### Compatibility differences

Google's connector libraries and Auth Proxy request a short-lived client certificate before connecting. The adapter handles that handshake on the target. Database users are created with SQL because RDS has no equivalent managed users API.

## On Azure

### MySQL Flexible Server

| Operation                         | Area    | Support      | Depth        | Notes                                                                                                                                                                                      |
| --------------------------------- | ------- | ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Connector / Auth Proxy handshake  | Connect | Partial      | Common       | The adapter handles the short-lived client certificate handshake required by Google's connector libraries before they connect.                                                             |
| IAM database authentication       | Connect | Partial      | Full surface | The build identifies the target's database-token authentication flow, which differs from Google's.                                                                                         |
| Regional high availability        | Control | Supported    | Common       | Regional high availability becomes zone-redundant deployment.                                                                                                                              |
| authorizedNetworks                | Control | Out of scope | Most usage   | the counterpart is a network rule and the mapping does not reach it, so an instance that declares authorized networks is flagged at the build                                              |
| databaseFlags                     | Control | Supported    | Most usage   | Database flags become server parameters.                                                                                                                                                   |
| instances.insert / patch / delete | Control | Supported    | Common       | The instance becomes a MySQL Flexible Server with mapped compute and storage capacity and a target-compatible engine version. The build identifies unsupported size or version selections. |
| users.insert / delete             | Control | Partial      | Most usage   | Users are created and deleted through SQL because the target has no managed users API.                                                                                                     |
| MySQL wire protocol               | Data    | Supported    | Common       | The application continues using the MySQL protocol with a managed MySQL server.                                                                                                            |

Cloud SQL for MySQL becomes an Azure MySQL Flexible Server. The application keeps the MySQL protocol. Database flags become server parameters, and regional high availability becomes zone-redundant deployment.

### Connection setup and instance changes

The source management API and the database protocol serve different purposes. The adapter creates and configures the target instance and handles the connector certificate exchange; SQL then uses the target engine. Verify the complete connection sequence with the actual client library, including token acquisition and certificate renewal.

### Moving the database

Provisioning a target instance does not copy data, users, or backup history. Transfer the required database state, stop or coordinate writes for the final cutover, and test reconnection after target failover. Select the target engine version and settings together with the application's extension and authentication requirements.

### Compatibility differences

The adapter handles the certificate handshake used by Google's connector libraries and Auth Proxy. Database users are created with SQL.

## Existing data and credentials

Selecting a backend does not copy existing data, credentials or access policies. Plan and verify migration separately before changing an application's endpoint. Do not assume an identifier, credential or encrypted value from the origin service works unchanged on the target.

## Configure, tune and debug

Start with [setup](/cloud-adapter/getting-started/overview) and [configuration](/cloud-adapter/configuration/overview). Use [tuning](/cloud-adapter/tuning/overview) to understand supported request tags, [debugging](/cloud-adapter/debugging/overview) to investigate a request, and [High Fidelity Cloud Emulators](/cloud-adapter/local-testing/overview) to validate a bounded reproduction.
