诊断问题

本页面列出了您在使用 Cloud SQL 实例时可能遇到的常见问题,同时介绍了可用于解决这些问题的步骤。另请参阅已知问题问题排查支持页面页面。

查看日志

要查看有关最近操作的信息,您可以查看 Cloud SQL 实例操作日志SQL Server 错误日志

连接问题

请参阅调试连接问题页面或问题排查页面中的连接部分,以获取有关连接问题的帮助。

实例问题

备份

为使备份实现最佳性能,请将表数量保持在合理范围内。

对于其他备份问题,请参阅问题排查页面中的备份部分。

导入和导出

导入和导出 Cloud SQL 可能需要很长时间才能完成,具体取决于要处理的数据大小。这可能产生以下影响:

  • 您无法停止长时间运行的 Cloud SQL 实例操作。
  • 针对每个实例,一次只能执行一项导入或导出操作,而长时间运行的导入或导出操作会阻止其他操作,例如每日自动备份。

对小批量数据使用 Cloud SQL 导入或导出功能可以缩短每项操作的完成时间。

对于整个数据库迁移,您通常应使用 BAK 文件而不是 SQL 文件进行导入。通常,从 SQL 文件导入比从 BAK 文件导入花费的时间更长。

有关其他导入和导出问题,请参阅问题排查页面中的导入和导出部分。

暂停状态

Cloud SQL 可能会因下列各种原因而暂停实例,包括:

  • 结算问题

    例如,如果项目的结算账号所用的信用卡已过期,该实例可能会暂停。您可以通过转到 Google Cloud 控制台结算页面、选择项目并查看项目所用的结算账号信息,来检查项目的结算信息。解决结算问题后,实例将在几小时内恢复为可运行状态。

  • KMS 密钥问题

    例如,如果用于加密 Cloud SQL 实例中的用户数据的 KMS 密钥版本不存在,或者已被停用或销毁。请参阅使用 CMEK(客户管理的加密密钥)

  • 法律问题

    例如,违反 Google Cloud 使用限制政策可能会导致实例被暂停。如需了解详情,请参阅 Google Cloud 服务条款中的“暂停和移除”。

  • 操作问题

    例如,如果某个实例陷于崩溃循环之中(在启动时或刚启动后就崩溃),则 Cloud SQL 可能会暂停该实例。

实例暂停后,您可以继续查看有关它的信息,或者删除该实例(如果暂停是由结算问题触发)。

拥有白金级、黄金级或白银级支持套餐的 Cloud SQL 用户可就已暂停的实例直接与我们的支持团队联系。所有用户都可以使用早期指南以及 google-cloud-sql 论坛。

性能

概览

Cloud SQL 支持对性能要求高的工作负载 - 最高可支持 60000 IOPS,且不会产生额外的 I/O 成本。IOPS 和吞吐量性能取决于磁盘大小、实例的 vCPU 数量和 I/O 块大小等诸多因素。

实例的性能还取决于所选存储类型和工作负载。

详细了解以下内容:

保持合理数量的数据库表

数据库表会消耗系统资源。数量大可能影响实例性能和可用性,并导致实例损失 SLA 覆盖率。了解详情

问题排查

对于其他 Cloud SQL 问题,请参阅问题排查页面。

错误消息

如需了解具体的 API 错误消息,请参阅错误消息参考页面。

排查客户管理的加密密钥 (CMEK) 问题

由于 Cloud KMS 错误以及缺少角色或权限,Cloud SQL 管理员操作(例如创建、克隆或更新)可能会失败。常见的失败原因如下:缺少 Cloud KMS 密钥版本;Cloud KMS 密钥版本已被停用或被销毁;IAM 权限不足,无法访问 Cloud KMS 密钥版本;或者 Cloud KMS 密钥版本与 Cloud SQL 实例位于不同的区域。请使用以下问题排查表来诊断和解决常见问题。

CMEK 问题排查表

错误… 可能的问题… 请尝试以下操作…
找不到各项产品和项目的服务账号 服务账号名称不正确。 确保您已为正确的用户项目创建了服务账号。

转到“服务账号”页面

无法向服务账号授予访问权限 用户账号无权授予对此密钥版本的访问权限。 为您的用户或服务账号添加 Organization Administrator 角色。

转至 IAM 账号页面

Cloud KMS 密钥版本已被销毁 密钥版本已被销毁。 如果密钥版本遭到销毁,您就无法使用该版本来加密或解密数据。
Cloud KMS 密钥版本已停用 密钥版本已停用。 重新启用 Cloud KMS 密钥版本。

转到“加密密钥”页面

权限不足,无法使用 Cloud KMS 密钥 您用于对 Cloud SQL 实例运行操作的用户或服务账号缺少 cloudkms.cryptoKeyEncrypterDecrypter 角色,或 Cloud KMS 密钥版本不存在。 在托管密钥的 Google Cloud 项目中,为您的用户或服务账号添加 cloudkms.cryptoKeyEncrypterDecrypter 角色。

转至 IAM 账号页面


如果您已向您的账号授予此角色,请参阅创建密钥以了解如何创建新的密钥版本。请参阅备注。
找不到 Cloud KMS 密钥 密钥版本不存在。 创建新的密钥版本。请参阅创建密钥。 请参阅备注。
Cloud SQL 实例和 Cloud KMS 密钥版本位于不同区域 Cloud KMS 密钥版本和 Cloud SQL 实例必须位于同一区域。如果 Cloud KMS 密钥版本位于全球区域或多区域中,则密钥不起作用。 在要创建实例的同一区域中创建密钥版本。请参阅创建密钥。请参阅备注。
Cloud KMS 密钥版本已恢复,但实例仍处于暂停状态 密钥版本已停用或未授予适当的权限。 重新启用密钥版本,并在托管密钥的 Google Cloud 项目中向您的用户或服务账号授予 cloudkms.cryptoKeyEncrypterDecrypter 角色。

重新加密问题排查表

错误… 可能的问题… 请尝试以下操作…
CMEK 资源重新加密失败,因为 Cloud KMS 密钥无法访问。请确保已启用主密钥版本,且已正确授予权限。 密钥版本已停用或未授予适当的权限。

重新启用 Cloud KMS 密钥版本:

进入“加密密钥”页面

在托管密钥的 Google Cloud 项目中,确认已向您的用户或服务账号授予 cloudkms.cryptoKeyEncrypterDecrypter 角色:

转至 IAM 账号页面

由于服务器内部错误,CMEK 资源重新加密失败。请稍后重试 服务器内部错误。 重试重新加密。如需了解详情,请参阅重新加密现有的启用了 CMEK 的实例或副本