This page describes the major features and capabilities of Cloud SQL.
Note: For information about the supported versions of database engines, see Database versions and version policies. MySQL features by Cloud SQL editionsFor more information about the features for the Cloud SQL Enterprise Plus edition and Cloud SQL Enterprise edition of Cloud SQL for MySQL, see Introduction to Cloud SQL editions.
General MySQL features supported for Cloud SQLmysqldump
, or import and export CSV files.You can use Cloud SQL with App Engine applications running in the flexible environment that are written in:
You can also use Cloud SQL with external applications that use the standard MySQL protocol.
How you can connect to Cloud SQL for MySQL instancesYou can connect to a Cloud SQL instance from the following:
mysql
clientConnecting to Cloud SQL with Private Google Access isn't supported. Private services access is supported. For more information, see Private Access Options for Services.
User management in Cloud SQL for MySQL 8.0Due to changes in MySQL 8.0, you can't use CREATE
or DELETE
statements for MySQL user management. You also can't modify user privileges using INSERT
, UPDATE
, or DELETE
statements. Instead, use CREATE USER
, DROP USER
, GRANT
, and REVOKE
statements to modify user privileges. 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.
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 instance.
MySQL features unsupported for Cloud SQLThe following feature is unsupported for Cloud SQL for MySQL 5.6 and 5.7:
The following features are unsupported for Cloud SQL for MySQL 8.0:
The following feature is unsupported for Cloud SQL for MySQL 8.4:
In addition, Cloud SQL for MySQL doesn't grant the following privileges introduced in MySQL 8.4:
MySQL plugins unsupported for Cloud SQLThe following SQL statements generate an error with the Error 1290: The MySQL server is running with the Google option so it cannot execute this statement
message:
LOAD DATA INFILE
LOAD DATA LOCAL INFILE
is supported.SELECT ... INTO OUTFILE
SELECT ... INTO DUMPFILE
INSTALL PLUGIN ...
UNINSTALL PLUGIN
CREATE FUNCTION ... SONAME ...
The following statements aren't supported because MySQL instances use GTID replication:
CREATE TABLE ... SELECT
statementsThe following MySQL statement is unsupported for Cloud SQL for MySQL 5.6 and 5.7, but is supported for Cloud SQL for MySQL 8.0:
CREATE TEMPORARY TABLE
statements inside transactionsFor more information, see the MySQL documentation.
MySQL functions unsupported for Cloud SQLLOAD_FILE()
mysqldump
using the --tab
option or options that are used with --tab
. This is because the FILE privilege isn't granted for instance users. All other mysqldump
options are supported. For information on using mysqldump
options that optimize your file for importing into Cloud SQL, see Export from your local MySQL server using mysqldump.
mysqlimport
without using the --local
option. This is because of the LOAD DATA INFILE
restriction. To import data into your Cloud SQL instance, see importing using a dump file or importing using a CSV file.
If you want to import databases with binary data into your Cloud SQL instance, you must use the --hex-blob
option with mysqldump
.
Although hex-blob
isn't a required flag when you're using a local MySQL server instance and the mysql
client, it's required if you want to import any databases with binary data into your Cloud SQL instance. To import data into your Cloud SQL instance, see importing using a dump file or importing using a CSV file.
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 Converting table to InnoDB in the MySQL documentation.
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. See skip-name-resolve
in the MySQL documentation.
log_bin
This flag reports whether binary logging is enabled. If the --log-bin
option is used, then the value of this variable is ON
; otherwise it's OFF
. See log_bin
in the MySQL documentation.
This section describes the changes made to MySQL built-in authentication.
MySQL 8.0 authentication plugin defaultCloud SQL for MySQL 8.0 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 caching_sha2_password
authentication might need to use the get-server-public-key
flag when connecting. For details, see Caching SHA-2 Pluggable Authentication in the MySQL documentation.
Starting in Cloud SQL for MySQL 8.4, the caching_sha2_password
plugin is the default authentication plugin. All internal users and new user accounts that you create use the caching_sha2_password
plugin for authentication. Cloud SQL for MySQL 8.4 continues to support existing Cloud SQL user accounts that use the mysql_native_password
plugin. These existing accounts can continue to connect to Cloud SQL for MySQL instances after those instances have been upgraded MySQL 8.4.
caching_sha2_password
authentication plugin instead of the mysql_native_password
plugin.
In Cloud SQL for MySQL 8.4, the mysql_native_password
authentication plugin is deprecated. Any attempt to create a new user account with the deprecated mysql_native_password
authentication plugin results in an error. You can't set the authentication_policy
of an account in Cloud SQL for MySQL 8.4 to use mysql_native_password
.
To change your existing database user accounts to use the caching_sha2_password
authentication plugin, use the following command:
ALTER USER 'username'@'%' IDENTIFIED WITH caching_sha2_password BY 'user_password';
Replace username and user_password with the values for the user account that you are updating.
For more information about the implications of this change on the compatibility between servers, clients, and connectors, see caching_sha2_password as the Preferred Authentication Plugin
.
For some MySQL system flags, Cloud SQL uses values that differ from the default values. You can't change the values for these flags. For a list of flags, see System flags changed in Cloud SQL.
Cloud SQL features unsupported in Cloud SQL for MySQL 8.0 and later versionsCloud SQL for MySQL 8.0 and later versions don't support the legacy Cloud SQL for MySQL high availability (HA) configuration that uses failover replicas. Cloud SQL for MySQL 8.0 and later versions only support the regional HA configuration.
PostgreSQL features by Cloud SQL editionsFor more information about the features for each edition of Cloud SQL for PostgreSQL, see Introduction to Cloud SQL editions.
PostgreSQL feature support for Cloud SQLCloud SQL supports many PostgreSQL extensions. For a complete list of these extensions, see Configure PostgreSQL extensions.
Supported PostgreSQL procedural languages for Cloud SQLCloud SQL supports the PL/pgSQL
SQL procedural language.
You can use Cloud SQL with App Engine applications running in the flexible environment that are written in:
You can also use Cloud SQL with external applications using the standard PostgreSQL client-server protocol.
How you can connect to Cloud SQL for PostgreSQL instancesYou can connect to a Cloud SQL instance from:
psql
client. Learn more.Connecting to Cloud SQL with Private Google access isn't supported.
Differences between standard PostgreSQL and Cloud SQL for PostgreSQLIn general, the PostgreSQL functionality provided by a Cloud SQL instance is the same as the functionality provided by a locally-hosted PostgreSQL instance. However, there are a few differences between a standard PostgreSQL instance and a Cloud SQL instance.
Unsupported features for Cloud SQL for PostgreSQLAny feature that requires SUPERUSER
privileges with the following exceptions:
You can use the CREATE EXTENSION
statement only for supported extensions.
If you are assigned to the cloudsqlsuperuser
role, then you can perform CREATE CAST
and DROP CAST
statements. For more information, see Superuser restrictions and privileges.
The WITHOUT FUNCTION
cast method.
Custom background workers.
The psql
client in Cloud Shell doesn't support operations that require a reconnection, such as connecting to a different database using the \c
command.
Low-Level Virtual Machine (LLVM) Just-in-Time (JIT) compilation.
Some PostgreSQL options and parameters aren't enabled for editing as Cloud SQL flags.
To request the addition of a configurable Cloud SQL flag, use the Cloud SQL for PostgreSQL Forum.
The following features are unavailable in Cloud SQL and Google Cloud doesn't support them:
General SQL Server features unavailable for Cloud SQLCREATE ENDPOINT
are unavailable)sysadmin
role and system stored procedures that require itCloud SQL supports the Transact-SQL syntax.
Supported languages for Cloud SQL for SQL ServerYou can use Cloud SQL with App Engine applications running in the flexible environment that are written in:
You can connect to a Cloud SQL instance from:
Connecting to Cloud SQL with Private Google access isn't supported.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4