Cloud SQL 特性

本页面介绍了 Cloud SQL 的主要特性和功能。Cloud SQL 可用于 MySQLPostgreSQL

Cloud SQL for MySQL

特点

  • 云端全托管式 MySQL 社区版数据库。
  • 第二代实例支持 MySQL 5.6 或 5.7,并提供高达 416 GB 的 RAM 和 10 TB 的数据存储空间,还可根据需要自动增加存储空间大小。
  • 第一代实例支持 MySQL 5.5 或 5.6,并提供高达 16 GB 的 RAM 和 500 GB 的数据存储空间。

  • Google Cloud Platform Console 中创建和管理实例。
  • 实例可在美国、欧盟或亚洲运行。
  • 无论客户数据是存储在 Google 内部网络、数据库表、临时文件还是备份中,该数据均处于加密状态。
  • 支持使用 Cloud SQL 代理或 SSL/TLS 协议建立安全的外部连接。
  • 支持专用 IP(专用服务访问权限)。
  • 通过自动故障转移在多个地区之间进行数据复制。
  • 使用 mysqldump 导入和导出数据库,或者导入和导出 CSV 文件。
  • 支持 MySQL 线路协议和标准 MySQL 连接器。
  • 自动和按需备份,以及时间点恢复。
  • 实例克隆。
  • 与 Stackdriver Logging 和 Stackdriver Monitoring 集成。
  • 符合 ISO/IEC 27001

支持的语言

您可以将 Cloud SQL for MySQL 与采用 Java、Python、PHP、Node.js、Go 和 Ruby 编写的 App Engine 应用搭配使用,还可以将 Cloud SQL for MySQL 与采用标准 MySQL 协议的外部应用搭配使用。

如何连接到 Cloud SQL for MySQL 实例

您可以通过以下方式连接到适用于 MySQL 的 Cloud SQL 实例:

不支持使用专用 Google 访问权限连接到 Cloud SQL。可支持专用服务访问。如需了解详情,请参阅服务的专用访问选项

Cloud SQL 与标准 MySQL 功能之间的差异

通常,Cloud SQL 实例提供的 MySQL 功能与本地托管的 MySQL 实例提供的功能相同。但标准 MySQL 实例与 Cloud SQL for MySQL 实例之间存在一些差异。

不受支持的功能

不受支持的语句

发送以下类型的 SQL 语句将会生成错误,并显示消息“Error 1290: The MySQL server is running with the google option so it cannot execute this statement”(错误 1290: MySQL 服务器正在使用 Google 选项运行,因此无法执行此语句):

  • LOAD DATA INFILE

    请注意,支持 LOAD DATA LOCALINFILE 语句。

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

第二代实例不支持的语句

以下语句不受支持,因为第二代实例使用 GTID 复制:

  • CREATE TABLE ... SELECT 语句
  • 事务内的 CREATE TEMPORARY TABLE 语句
  • 同时更新事务表和非事务表的事务或语句

如需了解详情,请参阅 MySQL 文档

不受支持的函数

  • LOAD_FILE()

不受支持的客户端程序特性

  • 未使用 --local 选项的 mysqlimport。这是因为存在 LOAD DATA INFILE 限制。如果您需要远程加载数据,请使用 Cloud SQL 导入函数

  • 使用 --tab 选项或与 --tab 搭配使用的选项的 mysqldump。这是因为没有为实例用户授予 FILE 权限。所有其他 mysqldump 选项均受支持。

  • 如果您要将包含二进制数据的数据库导入 Cloud SQL for MySQL 实例中,必须在运行 mysqldump 时使用 --hex-blob 选项。

    虽然在使用本地 MySQL 服务器实例和 mysql 客户端时,hex-blob 不是必需的标志,但如果您要将任何包含二进制数据的数据库导入 Cloud SQL 实例中,则需要使用该标志。如需详细了解如何导入数据,请参阅导入数据

  • 并非所有 MySQL 选项和参数都可作为 Cloud SQL 标记进行修改。

    要请求添加可配置的 Cloud SQL 标志,请使用 Cloud SQL 论坛

  • 对于第二代实例,InnoDB 是唯一受支持的存储引擎。如需有关将表从 MyISAM 转换为 InnoDB 方面的帮助,请参阅 MySQL 文档

  • 您无法将触发器、函数、存储过程或视图导入或导出到 Cloud SQL 中。不过,您可以在 Cloud SQL 实例中创建和使用这些元素。

值得注意的 MySQL 选项

Cloud SQL 使用一组特定的选项运行 MySQL。如果某个选项可能影响应用的工作方式,我们会在此处相应注明,以供您参考。

skip-name-resolve

此标记会影响系统如何解析主机名以进行客户端连接。 了解详情

Cloud SQL for PostgreSQL

特性

  • 基于 Cloud SQL 第二代平台的云端全托管式 PostgreSQL 数据库。
  • 拥有高达 416 GB 的 RAM 和 64 个 CPU 的自定义机器类型。
  • 可提供高达 10TB 的存储空间,并可根据需要自动增加存储空间大小。
  • Google Cloud Platform Console 中创建和管理实例。
  • 实例可在美国、欧盟或亚洲运行。
  • 无论客户数据是存储在 Google 内部网络、数据库表、临时文件还是备份中,该数据均处于加密状态。
  • 支持使用 Cloud SQL 代理或 SSL/TLS 协议建立安全的外部连接。
  • 数据在多个地区之间复制,具备自动故障转移。
  • 使用 SQL 转储文件导入和导出数据库。
  • 支持 PostgreSQL 客户端服务器协议和标准 PostgreSQL 连接器。
  • 自动备份和按需备份。
  • 实例克隆。
  • 与 Stackdriver Logging 和 Stackdriver Monitoring 集成。

尚未提供的特性

Cloud SQL for PostgreSQL 的某些特性尚不可用:

  • 时间点恢复 (PITR)
  • 使用 GCP Console 或 gcloud 命令行工具以 CSV 格式导入/导出内容。

支持的扩展程序

Cloud SQL for PostgreSQL 支持许多 PostgreSQL 扩展程序。如需完整列表,请参阅 PostgreSQL 扩展程序

支持的过程语言

Cloud SQL for PostgreSQL 支持 PL/pgSQL SQL 过程语言

支持的语言

Cloud SQL for PostgreSQL 适用于采用 Java、Python、PHP、Node.js、Go 和 Ruby 编写且在柔性环境中运行的 App Engine 应用,还适用于采用标准 PostgreSQL 客户端服务器协议的外部应用。

如何连接到 Cloud SQL for PostgreSQL 实例

您可以通过以下方式连接到 Cloud SQL for PostgreSQL 实例:

不支持使用专用 Google 访问权限连接到 Cloud SQL。

Cloud SQL 与标准 PostgreSQL 功能之间的差异

一般来说,Cloud SQL 实例提供的 PostgreSQL 功能与本地托管的 PostgreSQL 实例提供的功能相同。但是,标准 PostgreSQL 实例与 Cloud SQL for PostgreSQL 实例之间存在一些差异。

不受支持的特性

  • 任何需要 SUPERUSER 权限的特性

    此规则不适用于 CREATE EXTENSION 语句,但仅针对支持的扩展程序

  • 自定义后台工作器

  • Cloud Shell 中的 psql 客户端不支持需要重新连接的操作,例如,使用 \c 命令连接到另一个数据库。

需注意的差异

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud SQL 文档