本页面讨论了 Cloud SQL 中遇到的一些错误消息。
概览
Cloud SQL 中的错误消息有许多来源,并会出现在很多地方。一些错误消息来自数据库引擎本身,一些来自 Cloud SQL 服务,一些来自客户端应用,还有一些是由 Cloud SQL Admin API 调用返回的。
本页面包含 Cloud SQL 中最常见的一些错误。如果您在此找不到所看到的错误代码或消息,则可以在以下位置查找来源参考资料:
如果您找不到有关所看到的错误消息的参考材料,还可以在以下这些其他用户可能有相关经验的位置进行搜索:
- Stack Overflow 上有关 Cloud SQL 的问题
- Cloud SQL 的公开问题跟踪器
- DBA Stack Exchange
- Cloud SQL 论坛
- Google Cloud Slack 社区
- Reddit 上有关 Google Cloud 的问题
操作错误
A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | W
错误消息 | 问题排查 |
---|---|
用户“XXX”@“XXX”的访问遭拒(使用密码:XXX) | 可能存在多种原因,包括:
请尝试以下操作 ...
|
在网络中找不到分配的 IP 范围。 | 在修改或移除分配的范围后,VPC 对等互连未更新。 您需要修改专用连接。使用以下命令,并务必使用 gcloud services vpc-peerings update \ --network=VPC_NETWORK \ --ranges=ALLOCATED_RANGES \ --service=servicenetworking.googleapis.com \ --force |
错误消息 | 问题排查 |
---|---|
错误请求 | 此消息可能有多种原因。Illegal Argument 是最常见的一种。在这种情况下,请求使用不正确的参数或参数的无效值。对于许多其他原因,错误消息可能包含有用的提示。对于 |
错误消息 | 问题排查 |
---|---|
无法修改 CreateConnection 中分配的范围。请使用 UpdateConnection。 | 在修改或移除分配的范围后,VPC 对等互连未更新。
您需要修改专用连接。使用以下命令,并务必使用 gcloud services vpc-peerings update \ --network=VPC_NETWORK \ --ranges=ALLOCATED_RANGES \ --service=servicenetworking.googleapis.com \ --force |
Constraints/sql.restrictAuthorizedNetworks。 | 克隆操作被 Authorized Networks 配置阻止。在 Google Cloud 控制台的“连接”部分中为公共 IP 地址配置了 Authorized Networks ,并且出于安全考虑,不允许克隆。
如果可以,请移除 Cloud SQL 实例中的所有 |
由于文件组 PRIMARY 中的磁盘可用空间不足,无法为数据库 database_name 分配新页面。 |
PRIMARY 文件组(数据库中的主文件组和默认文件组)已空间不足。使用 请考虑以下解决方案:
|
错误消息 | 问题排查 |
---|---|
磁盘已满。 | 主实例磁盘大小可能在副本创建期间变满。
对主实例进行修改以将其升级为更大的磁盘。 |
错误消息 | 问题排查 |
---|---|
未能创建子网。 | IP 地址范围中没有更多可用的地址。
在分配的 IP 范围中找不到可用块。请为该服务提供商分配新的范围。 分配的 IP 范围中没有更多的可用地址。 请考虑以下可能出现的情况:
对于上述每种场景,您可以选择展开现有 IP 范围,也可以选择分配其他 IP 范围给专用服务连接。 如果您要分配新的范围,请注意不要创建与任何现有分配重叠的分配。 创建新的 IP 地址范围后,使用以下命令更新 VPC 对等互连: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK --project=PROJECT_ID \ --force 如果要扩展现有分配,请注意只能扩大分配范围,不能缩减分配范围。例如,如果原始分配是 10.0.10.0/24,则新分配至少为 10.0.10.0/23。 一般来说,如果从 /24 分配开始,对于每个条件(额外的实例类型组、额外的区域),将“/子网掩码位数”递减 1 是一种较好的做法。例如,如果尝试在同一分配中创建两个实例类型组,则从 /24 递减到 /23 就足够了。 扩展现有 IP 地址范围后,使用以下命令更新 VPC 对等互连: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force |
错误消息 | 问题排查 |
---|---|
(gcloud.sql.connect) 您的客户端似乎没有 IPv6 连接,并且数据库实例没有 IPv4 地址。 | 您正尝试使用 Cloud Shell 连接到您的专用 IP 实例。
目前不支持从 Cloud Shell 连接到仅使用专用 IP 地址的实例。 |
错误消息 | 问题排查 |
---|---|
内部错误。 | 项目可能缺少此功能所需的 Service Networking 服务账号。 如需修复服务权限,请停用 |
请求无效:实例的 Service Networking 配置不正确。 | 未在项目中启用 Service Networking API 。在您的项目中启用 |
错误消息 | 问题排查 |
---|---|
网络关联失败。 | 未在项目中启用 Service Networking API 。在您的项目中启用 |
错误消息 | 问题排查 |
---|---|
操作失败,因为正在进行其他操作。 | Cloud SQL 中的大多数操作是同步的。一次只能运行一个。 等待上一个操作完成后,再开始另一个操作。 |
操作对此实例无效。 | 此错误从对 instances.restoreBackup 的 API 调用返回,这意味着您无法从备份恢复到存储空间大小 (XX GB) 比备份大小 (YY GB) 小的实例。对目标实例进行修改以增加其存储空间大小。 |
错误消息 | 问题排查 |
---|---|
已超出配额。 | 您已达到每分钟或每日配额的上限。查看 Cloud SQL 的配额和限制。
通过 Google Cloud 控制台申请增加配额。 |
错误消息 | 问题排查 |
---|---|
请求缺少有效的 API 密钥。 | 您可能没有有效的服务账号密钥 JSON 文件,或者该文件可能未存储在预期位置。 验证 |
错误消息 | 问题排查 |
---|---|
SSL 错误:填充无效。 | 服务器证书错误。
创建新的服务器证书并轮替。 |
发生了系统错误。 |
请尝试以下操作 ...
|
错误消息 | 问题排查 |
---|---|
表定义已更改。 | 在导出过程中,表发生了更改。
如果在导出操作期间使用以下语句,则转储事务可能会失败:
从转储操作中移除所有这些语句。 |
临时文件大小超出 temp_file_limit。 | 对于您的数据库用量,temp_file_limit 标志设置得太低。
增加 |
错误消息 | 问题排查 |
---|---|
没有连接权限。 | 由于在多个级层进行授权,因此可能存在多个原因:
请尝试以下操作 ...
|
错误消息 | 问题排查 |
---|---|
x509:证书对任何名称均无效。 | 已知问题:Cloud SQL Proxy Dialer 目前与 Go 1.15 不兼容。 在问题获得修复之前,请参阅 GitHub 上的这一讨论,其中包括了解决方法。 |
未知错误
下表显示了 Unknown Error
可能发生的一些已知情况,并列出了具体补救措施(如适用)。不过,此列表并非完整列表。如果您在表中未找到您的情况,请参阅 Cloud SQL 的公开问题跟踪器。如果您在此处未找到问题,请考虑提交报告或查看其他支持选项。
操作 | 可能的问题 | 可以尝试的操作 |
---|---|---|
添加用户 | 如果数据库中已存在用户,当您尝试添加该用户时,可能会发生此错误。 | 检查以确保该用户不在数据库中。 |
备份 | 如果您在自动或手动备份期间看到此错误消息,可能是实例磁盘已满。 | 如果临时文件大小占用过多空间,您可以重启实例以移除该文件并释放磁盘可用空间。否则,您可能需要将实例升级为更大的磁盘。 |
克隆 | 当所选可用区中的资源不足时,可能会发生这种情况。 | 请尝试相应区域中的另一个可用区,或者稍后重试。 |
创建实例 |
|
|
导出 | 如果您在尝试将数据库导出到 Cloud Storage 存储桶时看到此错误,则可能是带宽问题导致转移失败。 | Cloud SQL 实例可能与 Cloud Storage 存储桶位于不同区域。从一个大洲读取数据并将数据写入另一个大洲涉及很多网络用量,可能会导致类似的间歇性问题。 |
故障切换(自动) | 当服务检测到主实例仍保持响应时,自动故障切换操作可能会产生此错误消息。 | 在这种情况下,您无需执行任何操作。不会发生故障切换,因为不需要。 |
导入 | 导入文件可能包含需要超级用户角色的语句。 | 修改该文件以移除任何需要超级用户角色的语句。 |
Cloud SQL 还会使用一些第三方二进制文件(例如 mysqld
),它们可能会生成未知的错误消息。此类错误是第三方二进制文件的内部错误,不在 Cloud SQL 的范围内。但是,有时可以在 Cloud SQL 日志文件中找到更具体的错误。
有时,错误代码是未知的错误代码。在这种情况下,完整消息可能是 Unknown Error Code
。