Cloud SQL for MySQL 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.
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-17 UTC.