Cloud SQL for MySQL features

This page describes the major features and capabilities of Cloud SQL for MySQL. Cloud SQL is also available for the major features and capabilities of Cloud SQL for PostgreSQL. Cloud SQL is also available for MySQL and SQL Server.

Cloud SQL for MySQL

Features

  • Fully managed MySQL Community Edition databases in the cloud.
  • Cloud SQL instances support MySQL 8.0, 5.7 (default), and 5.6, and provide up to 416 GB of RAM and 30 TB of data storage, with the option to automatically increase the storage size, as needed.
  • Create and manage instances in the Google Cloud Console.
  • Instances available in US, EU, Asia, and Australia.
  • Customer data encrypted on Google's internal networks and in database tables, temporary files, and backups.
  • Support for secure external connections with the Cloud SQL Proxy or with the SSL/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 CSV files.
  • Support for MySQL wire protocol and standard MySQL connectors.
  • Automated and on-demand backups, and point-in-time recovery.
  • Instance cloning.
  • Integration with Google Cloud's operations suite logging and monitoring.
  • ISO/IEC 27001 compliant.

Supported languages

You can use Cloud SQL for MySQL with App Engine applications that are written in Java, Python, PHP, Node.js, Go, and Ruby. You can also use Cloud SQL for MySQL with external applications using the standard MySQL protocol.

How you can connect to Cloud SQL for MySQL instances

You can connect to a Cloud SQL instance for MySQL from:

Connecting to Cloud SQL by using Private Google access is not supported. Private services access is supported. For more information, see Private Access Options for Services.

User management in MySQL for Cloud SQL 8.0

Due to changes in MySQL 8.0, you can't use CREATE, or DELETE for MySQL users management. You also can't modify user privileges using INSERT, UPDATE, or DELETE statements. Instead, use CREATE and DROP USER and GRANTand REVOKE statements to modify user priveleges. For more information, see Account management notes.

Note: Disregard information under Account management notes about running mysql_upgrade to upgrade to version 8.0. Instead, upgrade using the procedure in Upgrading MySQL on an instance.

Differences between Cloud SQL and standard MySQL functionality

In general, the MySQL functionality provided by a Cloud SQL instance is the same as the functionality provided by a locally-hosted MySQL instance. However, there are a few differences between a standard MySQL instance and a Cloud SQL for MySQL instance.

Unsupported MySQL features

The following feature is unsupported for MySQL for Cloud SQL 5.6 and 5.7:

  • The SUPER privilege

The following features are unsupported for MySQL for Cloud SQL 8.0:

Unsupported plugins

Unsupported statements

The following SQL statements generate an error with the message"Error 1290: The MySQL server is running with the Google option so it cannot execute this statement":

  • LOAD DATA INFILE

    Note that LOAD DATA LOCALINFILE is supported.

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

The following statements are not supported because MySQL instances use GTID replication:

  • CREATE TABLE ... SELECT statements
  • Transactions or statements that update both transactional and nontransactional tables

The following statement is unsupported in MySQL for MySQL for Cloud SQL 5.6 and 5.7, but is supported in MySQL for Cloud SQL 8.0.

  • CREATE TEMPORARY TABLE statements inside transactions

For more information, see the MySQL documentation.

Unsupported functions

  • LOAD_FILE()

Unsupported client program features

  • mysqlimport without using the --local option. This is because of the LOAD DATA INFILE restriction. If you need to load data remotely, use the Cloud SQL import function.

  • mysqldump using the --tab option or options that are used with --tab. This is because the FILE privilege is not granted for instance users. All other mysqldump options are supported.

  • If you want to import databases with binary data into your Cloud SQL for MySQL instance, you must use the --hex-blob option with mysqldump.

    Although hex-blob is not a required flag when you are using a local MySQL server instance and the mysql client, it is required if you want to import any databases with binary data into your Cloud SQL instance. For more information about importing data, see Importing Data.

  • Not all MySQL options and parameters are enabled for editing as Cloud SQL flags.

    To request the addition of a configurable Cloud SQL flag, use the Cloud SQL Discussion group.

  • InnoDB is the only supported storage engine. For help with converting tables from MyISAM to InnoDB, see the MySQL documentation.

MySQL options preset on Cloud SQL

Cloud SQL runs MySQL with a specific set of options. If an option might impact how your applications work, we note it here for your information.

skip-name-resolve

This flag impacts how hostnames are resolved for client connections. Learn more.

log_bin

This flag enables binary logging. It is disabled by default in MySQL for Cloud SQL, including in MySQL 8.0. Learn more.You can override this default by enabling binary logging on an instance.

MySQL 8.0 authentication

MySQL 8.0 for Cloud SQL uses mysql_native_password as the default authentication plugin for new users instead of caching_sha2_password. The mysql_native_password plugin is the default for MySQL 5.6 and 5.7 users.

If you want new users to use the caching_sha2_password plugin as the default authentication, you can configure your instance flag for default_authentication_plugin to use caching_sha2_password."

To configure existing users to use caching_sha2_password, use the ALTER USER command to change the authentication plugin.

Users that have the caching_sha2_password authentication might need to use the get-server-public-key flag when connecting. For full details, please see the MySQL docs section on (Using SHA-2 Pluggable Authentication)[https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html#sha256-pluggable-authentication-usage].

Unsupported Cloud SQL feature in MySQL 8.0 for Cloud SQL

MySQL 8.0 for Cloud SQL does not support the legacy version of MySQL high availability (HA) configuration that uses failover replicas. It supports the new regional HA configuration.