Cloud SQL features Stay organized with collections Save and categorize content based on your preferences.
MySQL features by Cloud SQL editions
For more information about the features for the Cloud SQL Enterprise Plus edition and Cloud SQL Enterprise editionof Cloud SQL for MySQL,seeIntroduction to Cloud SQL editions.
General MySQL features supported for Cloud SQL
- Fully managed MySQL Community Edition databases in the cloud.
- Instances available in the Americas, EU, Asia, and Australia. Seealllocations where you can create Cloud SQLinstances.
- Supports migration from source databases to Cloud SQL destination databasesusingDatabase Migration Service(DMS).
- Customer data encrypted on Google's internal networks and in databasetables, temporary files, and backups.
- Support for secure external connections with the Cloud SQL Auth Proxy or with theSSL/TLS protocol.
- Support for private IP (private services access).
- Data replication between multiple zones with automatic failover.
- Import and export databases using
mysqldump, or import and export CSVfiles. - Support for MySQL wire protocol and standard MySQL connectors.
- Automated backups, on-demand backups, and point-in-time recovery.
- Instance cloning.
- Integration with Google Cloud Observability logging and monitoring.
- ISO/IEC 27001compliant.
- Support for read pools and read pool autoscaling
Application languages supported for Cloud SQL for MySQL
You can use Cloud SQL with App Engine applications running in theflexible environment that are written in:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- Ruby
You can also use Cloud SQL with external applications that use the standardMySQL protocol.
How you can connect to Cloud SQL for MySQL instances
You can connect to a Cloud SQL instance from the following:
- A
mysqlclient - Third-party tools like SQL Workbench or Toad forMySQL
- External applications
- App Engine applications
- Applications running onCompute Engine
- Applications running onGoogle Kubernetes Engine
- Cloud Run functions
- Cloud Run
- Google Apps Scriptscripts
Connecting to Cloud SQL with Private Google Access isn't supported. Privateservices access is supported. For more information, seePrivate Access Optionsfor Services.
User management in Cloud SQL for MySQL 8.0
Due to changes in MySQL 8.0, you can't useCREATE orDELETE statements forMySQL user management. You also can't modify user privileges usingINSERT,UPDATE, orDELETE statements. Instead, useCREATE USER,DROP USER,GRANT,andREVOKE statements to modify user privileges. For more information, seeAccount managementnotes.
Note: Disregard information under Account management notes about runningmysql_upgrade to upgrade to version 8.0. Instead, upgrade using the procedureinUpgrading MySQL on aninstance.
Differences between standard MySQL and Cloud SQL for MySQL
In general, the MySQL functionality provided by a Cloud SQL instance is thesame as the functionality provided by a locally-hosted MySQL instance. However,there are a few differences between a standard MySQL instance and a Cloud SQLinstance.
MySQL features unsupported for Cloud SQL
The following feature is unsupported for Cloud SQL for MySQL 5.6 and5.7:
- The SUPER privilegeNote: Because Cloud SQL is a managedservice, it restricts access to certain system procedures and tables thatrequire advanced privileges.
The following features are unsupported for Cloud SQL for MySQL 8.0:
The following feature is unsupported for Cloud SQL for MySQL 8.4:
- Tagged GTIDs. For more information about tagged GTIDs, see"MySQL Replication: tagged GTIDs" in theFeatures Added or Changed in MySQL 8.4 section of the MySQL 8.4 release notes.
In addition, Cloud SQL for MySQL doesn't grant the following privileges introduced in MySQL 8.4:
MySQL plugins unsupported for Cloud SQL
- InnoDB memcached plugin
- X plugin
- Clone plugin
- InnoDB data-at-rest encryption
- validate_password component
MySQL statements unsupported for Cloud SQL
The following SQL statements generate an error with theError 1290:The MySQL server is running with the Google option so it cannot execute thisstatement message:
Note:LOAD DATA INFILELOAD DATA LOCAL INFILEis supported.SELECT ... INTO OUTFILESELECT ... INTO DUMPFILEINSTALL PLUGIN ...UNINSTALL PLUGINCREATE FUNCTION ... SONAME ...
The following statements aren't supported because MySQL instances use GTIDreplication:
CREATE TABLE ... SELECTstatements- Transactions or statements that update both transactional andnontransactional tables
The following MySQL statement is unsupported for Cloud SQL for MySQL5.6 and 5.7, but is supported for Cloud SQL for MySQL 8.0:
CREATE TEMPORARY TABLEstatements inside transactions
For more information, see theMySQLdocumentation.
MySQL functions unsupported for Cloud SQL
LOAD_FILE()
MySQL client program features unsupported for Cloud SQL
mysqldumpusing the--taboption or options that are used with--tab. This is because theFILE privilege isn't granted for instance users. All othermysqldumpoptions aresupported. For information on usingmysqldumpoptions that optimize yourfile for importing into Cloud SQL, seeExport from your local MySQLserver usingmysqldump.mysqlimportwithout using the--localoption. This is because of theLOAD DATAINFILErestriction. To import data into your Cloud SQL instance, seeimporting using a dumpfile orimportingusing a CSV file.If you want to import databases with binary data into your Cloud SQLinstance, you must use the
--hex-bloboption withmysqldump.Although
hex-blobisn't a required flag when you're using a local MySQLserver instance and themysqlclient, it's required if you want to importany databases with binary data into your Cloud SQL instance. To importdata into your Cloud SQL instance, seeimporting using a dumpfile orimportingusing a CSV file.Not all MySQL options and parameters are enabled for editing asCloud SQL flags.
To request the addition of a configurable Cloud SQL flag, use theCloud SQL Discussiongroup.
InnoDB is the only supported storage engine. For help with converting tablesfrom MyISAM to InnoDB, seeConverting table toInnoDB in the MySQLdocumentation.
MySQL options preset for Cloud SQL
Cloud SQL runs MySQL with a specific set of options. If an option mightimpact how your applications work, we note it here for your information.
skip-name-resolve
This flag impacts how hostnames are resolved for client connections. Seeskip-name-resolve in the MySQL documentation.
log_bin
This flag reports whether binary logging is enabled. If the--log-bin optionis used, then the value of this variable isON; otherwise it'sOFF. Seelog_bin in the MySQL documentation.
MySQL authentication
This section describes the changes made toMySQL built-in authentication.
MySQL 8.0 authentication plugin default
Cloud SQL for MySQL 8.0 usesmysql_native_password as the defaultauthentication plugin for new users instead ofcaching_sha2_password. Themysql_native_password plugin is the default for MySQL 5.6 and 5.7 users.
If you want new users to use thecaching_sha2_passwordplugin as the default authentication, you can configure your instance flag fordefault_authentication_plugin to usecaching_sha2_password.
To configure existing users to usecaching_sha2_password, use theALTER USERcommand to change the authentication plugin.
Users that havecaching_sha2_password authentication might need to usetheget-server-public-keyflag when connecting. For details, seeCaching SHA-2 Pluggable Authenticationin the MySQL documentation.
MySQL 8.4 authentication plugin default
Starting in Cloud SQL for MySQL 8.4, thecaching_sha2_password plugin is the default authentication plugin.All internal users and new user accounts that you create use thecaching_sha2_password plugin for authentication. Cloud SQL for MySQL8.4 continues to support existing Cloud SQL user accounts thatuse themysql_native_passwordplugin. These existing accounts can continue to connectto Cloud SQL for MySQL instances afterthose instances have been upgraded MySQL 8.4.
caching_sha2_password authentication plugininstead of themysql_native_password plugin.In Cloud SQL for MySQL 8.4, themysql_native_passwordauthentication plugin is deprecated.Any attempt to create a new user account with the deprecatedmysql_native_passwordauthentication plugin results in an error.You can't set theauthentication_policy of an account in Cloud SQL for MySQL 8.4 to usemysql_native_password.
To change your existing database user accounts to use thecaching_sha2_passwordauthentication plugin, use the following command:
ALTERUSER'username'@'%'IDENTIFIEDWITHcaching_sha2_passwordBY'user_password';
Replaceusername anduser_passwordwith the values for the user account that you are updating.
For more information about the implications of this change on the compatibilitybetween servers, clients, and connectors, seecaching_sha2_password as the Preferred Authentication Plugin.
Changes to MySQL system flags in Cloud SQL
For some MySQL system flags, Cloud SQL uses values that differ from thedefault values. You can't change the values for these flags. For a list offlags, seeSystem flags changed in Cloud SQL.
Cloud SQL features unsupported in Cloud SQL for MySQL 8.0 and later versions
Cloud SQL for MySQL 8.0 and later versions don't support the legacyCloud SQL for MySQL high availability (HA) configuration that uses failover replicas.Cloud SQL for MySQL 8.0 and later versions only support the regionalHA configuration.
PostgreSQL features by Cloud SQL editions
For more information about the features for each edition of Cloud SQL for PostgreSQL,seeIntroduction to Cloud SQL editions.
PostgreSQL feature support for Cloud SQL
- Fully managed PostgreSQL databases in the cloud.
- Instances available in the Americas, EU, Asia, and Australia. Seealllocations where you can create Cloud SQLinstances.
- Supports migration from source databases to Cloud SQL destination databasesusingDatabase Migration Service(DMS).
- Customer data encrypted on Google's internal networks and in databasetables, temporary files, and backups.
- Support for secure external connections with the Cloud SQL Auth Proxy or with theSSL/TLS protocol.
- Data replication between multiple zones with automatic failover.
- Import and export databases using SQL dump files.
- Support for PostgreSQL client-server protocol and standard PostgreSQLconnectors.
- Automated backups, on-demand backups, and point-in-time recovery.
- Instance cloning.
- Integration with Google Cloud Observability logging and monitoring.
- Support for multiplePostgreSQL versions.
- Logical replication
- Support for read pools and read pool autoscaling
Supported PostgreSQL extensions for Cloud SQL
Cloud SQL supports many PostgreSQL extensions. For a complete list of theseextensions, seeConfigure PostgreSQLextensions.
Supported PostgreSQL procedural languages for Cloud SQL
Cloud SQL supports thePL/pgSQL SQL procedurallanguage.
Supported languages for Cloud SQL for PostgreSQL
You can use Cloud SQL with App Engine applications running in theflexible environment that are written in:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- Ruby
You can also use Cloud SQL with external applications using the standardPostgreSQL client-server protocol.
How you can connect to Cloud SQL for PostgreSQL instances
You can connect to a Cloud SQL instance from:
- A
psqlclient.Learn more. - Third-party tools that use the standard PostgreSQL client-server protocol.
- External applications.Learnmore.
- App Engine applications.Learnmore.
- Applications running on Compute Engine.Learnmore.
- Applications running on Google Kubernetes Engine.Learnmore.
- Cloud Run functions.Learn more.
- Cloud Run.Learn more.
Connecting to Cloud SQL with Private Google access isn't supported.
Differences between standard PostgreSQL and Cloud SQL for PostgreSQL
In general, the PostgreSQL functionality provided by a Cloud SQLinstance is the same as the functionality provided by a locally-hostedPostgreSQL instance. However, there are a few differences between a standardPostgreSQL instance and a Cloud SQL instance.
Unsupported features for Cloud SQL for PostgreSQL
Any feature that requires
SUPERUSERprivileges with the following exceptions:You can use the
CREATE EXTENSIONstatement only forsupported extensions.If you are assigned to the
cloudsqlsuperuserrole, then you can performCREATE CASTandDROP CASTstatements. For more information, seeSuperuser restrictions and privileges.
The
WITHOUT FUNCTIONcast method.Custom background workers.
The
psqlclient in Cloud Shell doesn't support operations thatrequire a reconnection, such as connecting to a different database using the\ccommand.Low-Level Virtual Machine (LLVM) Just-in-Time (JIT) compilation.
Notable differences between PostgreSQL and Cloud SQL for PostgreSQL
Some PostgreSQL options and parameters aren't enabled for editing asCloud SQL flags.
To request the addition of a configurable Cloud SQL flag, use theCloud SQL for PostgreSQL Forum.
SQL Server feature support for Cloud SQL
- Fully managed SQL Server databases in the cloud.
- Custom machine types with up to 624 GB of RAM and 96 CPUs.
- Up to 64 TB of storage available, with the ability to automatically increasestorage size as needed.
- Create and manage instances in theGoogle Cloud console.
- Instances available in the Americas, Europe, Asia or Australia. Seealllocations where you can create Cloud SQLinstances.
- Database Migration Service for SQL Server.
- Customer data encrypted on Google's internal networks and in databasetables, temporary files, and backups.
- Column- and cell-level encryption for user databases.
- Support for secure external connections with the Cloud SQL Auth Proxy or with theSSL/TLS protocol.
- Import databases using BAK and SQL files.
- Export databases using BAK files.
- Automated backups, on-demand backups, and point-in-time recovery.
- Instance cloning.
- Integration with Stackdriver logging and monitoring.
- SQL Server Agent enabled to facilitate replication and other jobs.
- Data replication between multiple regions.
- Set a default collation for databases, when creating an instance.
- High availability through a regional persistent disk.
- Integration with customer-managed Active Directory (CMAD), includingWindows Authentication.
- Integration with Managed Service for Microsoft Active Directory, includingWindows Authentication.
- Integration with Microsoft Entra ID.
- Change Data Capture (CDC).
- Intelligent query processing.
- Accelerated database recovery.
- Enhanced data classification.
- UTF-8 character encoding support.
- Enhanced monitoring.
- Dynamic Data Masking (DDM).
- Linked Servers.
- SQL Server Audit.
- SQL Server Publisher.
- SQL Server Subscriber.
- SQL Server Integration Services (SSIS) that runs on a separate host andconnects to Cloud SQL.
- SQL Server Reporting Services (SSRS) that runs on a separate host andconnects to Cloud SQL.
- The bulk copy program (bcp) utility. To learn more about downloading andinstalling the bcp utility,see theMicrosoft documentation.
- BACPAC file imports and exports by using SqlPackage. To learn more about downloading andinstalling SqlPackage,see theMicrosoft documentation.
- Bulk insert for importing data. This feature is supported only on SQL Server 2022.You can use a stored procedure for performing bulk insert.For more information, seeUse bulk insert for importing data.
- Transparent Data Encryption (TDE). For information, seeAbout TDE.
- Always Encrypted without secure enclaves.
- Extended Events (XEvents).
- Custom time zone support at instance creation and post instance creation.
- Temporal tables. For more information, seeTemporal tables.
SQL Server features unavailable for Cloud SQL
The following features are unavailable in Cloud SQL and Google Cloud doesn'tsupport them:
General SQL Server features unavailable for Cloud SQL
- SQL Server Analysis Services (SSAS)
- SP_Configure settings. For more information about this feature, seeConfigure database flags.
- Stretch database
- Backing up to Microsoft Azure Blob Storage
- Buffer pool extension
- The OPENROWSET feature
- Data Quality Services
- Database Log Shipping
- Database Mail
- Distribution Transaction Coordinator (MSDTC)
- File tables
- FILESTREAM support
- Installing a server that requires a full server installation with specificauthentication mechanisms such as Azure DevOps Server.
- Maintenance Plans
- Performance Data Collector
- Policy-Based Management
- PolyBase
- Machine Learning and R Services
- Resource Governor
- Server-level triggers
- Service Broker endpoints
- T-SQL endpoints (all operations using
CREATE ENDPOINTare unavailable) - WCF Data Services
- The
sysadminrole and system stored procedures that require it - Hybrid buffer pool
- Memory-optimized tempdb metadata
- In-memory OLTP support for database snapshots
- Registering external languages
- Row-level security
- Object storage backup and restore
- Persistent Memory (PMEM)
- Real-time operational analytics
- Integrated acceleration and offloading
- Hybrid buffer pool with direct write
- Multi-write replication
- Link to Azure SQL Managed instance
- Contained availability group
- Always Encrypted with secure enclaves
- Azure Active Directory authentication
- Support for PFX certificates and other cryptographic improvements
- MS-TDS 8.0 protocol and TLS 1.3
Other SQL Server operations unavailable for Cloud SQL
- ADMINISTER BULK OPERATIONS
- ALTER ANY CREDENTIAL
- ALTER ANY EVENT NOTIFICATION
- ALTER ANY EVENT SESSION
- ALTER RESOURCES
- ALTER SETTINGS
- AUTHENTICATE SERVER
- CONTROL_SERVER
- CREATE DDL EVENT NOTIFICATION
- CREATE ENDPOINT
- CREATE TRACE EVENT NOTIFICATION
- EXTERNAL ACCESS ASSEMBLY
- RESTORE
- SHUTDOWN
- CLR ASSEMBLIES
Supported syntax for
Cloud SQL supports theTransact-SQLsyntax.
Supported languages for
You can use Cloud SQL with App Engine applications running in theflexible environment that are written in:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- Ruby
How you can connect to instances
You can connect to a Cloud SQL instance from:
Connecting to Cloud SQL with Private Google access isn't supported.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-15 UTC.