已知问题

本页面列出了 Cloud SQL for MySQL 的已知问题,以及可以避免这些问题或在发生此类问题时恢复服务的方法。

如果您遇到实例问题,请务必同时查看操作指南以及诊断问题中的信息。

数据耐用性和可用性问题

  • 生成的列(仅限 MySQL 5.7 实例)

    由于 MySQL 中存在问题,使用生成的列可能会导致数据损坏。如需了解详情,请参阅 MySQL 错误 #82736

实例连接问题

  • SSL/TLS 证书已过期

    如果您的实例配置为使用 SSL,请转到 Google Cloud 控制台中的“Cloud SQL 实例”页面并打开该实例。打开实例的连接页面,选择安全标签页,并确保您的服务器证书有效。如果证书已过期,您必须添加一个新证书并轮替至该证书。

  • Cloud SQL Auth 代理版本

    如果您使用 Cloud SQL Auth 代理建立连接,请确保使用的是最新版本。如需了解详情,请参阅保持 Cloud SQL Auth 代理为最新版本

  • 无权连接

    如果您尝试连接到该项目中不存在的实例,则错误消息将仅指示您无权访问该实例。

  • 无法创建 Cloud SQL 实例

    如果您看到 Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID] 错误消息,请尝试再次创建 Cloud SQL 实例。

管理问题

  • 一次只能对实例运行一个长时间运行的 Cloud SQL 导入或导出操作。启动操作时,请确保不需要对实例执行其他操作。此外,启动操作后,您可以取消操作

  • 每个 DDL 语句上的 MySQL 自动提交。Cloud SQL 会保留在取消实例之前已完成的所有导入步骤。因此,您可能必须手动清理实例上的数据。

数据导入和导出问题

  • CSV 导出中的 NULL 和换行符格式不正确。

    使用 Cloud SQL 导出功能以 CSV 格式导出数据时,NULL 导出为 "N,而这可能会导致 CSV 文件包含不对称的引号。此外,如果您的文本数据包含换行符,系统则会在行尾添加一个尾随引号。

    导入使用默认转义字符导出的文件时,该文件会将值视为 "NULL",而不是 NULL。如需在导出文件时替换默认值,请使用 --escape="5C"

  • SQL 模式设置会影响 Cloud SQL 解释 SQL 查询的方式。

    例如,如果您从没有启用严格 SQL 的数据库中导出数据,然后尝试将数据导入到 Cloud SQL(默认启用严格 SQL),则导入操作可能会失败。最佳做法是在导入时使用导出操作所用的相同 SQL 模式。

  • DEFINER 子句可能导致导入失败

    如果 DEFINER 用户是 SUPER 或系统用户,不同于执行导入 Cloud SQL 的用户,则 DEFINER 子句可能会导致导入操作失败。详细了解 Cloud SQL 中的 DEFINER 用法以及可能的解决方法。

  • 如果您要尝试从大型数据库(例如,具有 500 GB 或更多数据的数据库)导入和导出数据,则导入和导出操作可能需要很长时间才能完成。此外,在导入或导出过程中,您无法执行其他操作(例如备份操作)。提高导入和导出过程性能的一个可能选项是使用 gcloud 或 API 恢复之前的备份

  • Cloud Storage 支持最大 5 TB 的单个对象大小。如果您的数据库大于 5 TB,则导出到 Cloud Storage 的操作会失败。在这种情况下,您需要将导出文件细分为几个较小的部分。

事务日志和磁盘增长

日志每天完全清除一次,不会持续清除。当将日志保留天数配置为与备份数量相同时,可能会丢失一天的记录,具体取决于备份的发生时间。例如,如果日志保留天数设置为 7 天并且备份保留数量设置为七次备份,则意味着将保留六到七天的日志。

我们建议将备份数量设置为日志保留天数至少加 1,以保证日志至少保留指定的最少天数。

升级 MySQL 实例时出现的问题

如果您使用 Database Migration Service 将 MySQL 实例从 5.7 版升级到 8.0 版,并且您在 5.7 版实例的 mysql 数据库中创建了存储过程,那么您的存储过程可能不会被复制到升级后的 8.0 版实例的 mysql 数据库中。此外,您可能无法在升级后的实例的 mysql 数据库中创建存储过程。

InnoDB 页面压缩问题

InnoDB 页面压缩可以减少需要读取和写入磁盘的数据量,从而提高更新查询的性能。但是,页面压缩可能会影响频繁更新的表的更新查询性能。如需评估页面压缩对更新查询的影响,您可以在使用页面压缩和不使用页面压缩的情况下运行性能测试。这有助于您观察页面压缩对工作负载性能的影响。

您可以按如下方式优化页面压缩性能:

  • 使用适合您的数据类型的压缩算法。例如,对文本数据使用 LZ4,对二进制数据使用 ZLIB。

  • 避免对频繁更新的数据使用压缩功能。 压缩和解压缩数据可能会减慢更新查询的速度。

具有以下区域名称的实例在某些上下文中不正确显示,如下所示:

  • us-central1 显示为 us-central
  • europe-west1 显示为 europe
  • asia-east1 显示为 asia

此问题在以下情况下发生:

  • Cloud Monitoring 中的提醒
  • Metrics Explorer
  • Cloud Logging

您可以使用资源元数据标签来缓解 Cloud Monitoring 和 Metrics Explorer 中提醒的问题。使用系统元数据标签 region,而不是 cloudsql_database 受监控的资源标签 region