本页面列出了 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。
避免对频繁更新的数据使用压缩功能。 压缩和解压缩数据可能会减慢更新查询的速度。
与 Cloud Monitoring 或 Cloud Logging 相关的问题
具有以下区域名称的实例在某些上下文中不正确显示,如下所示:
us-central1
显示为us-central
europe-west1
显示为europe
asia-east1
显示为asia
此问题在以下情况下发生:
- Cloud Monitoring 中的提醒
- Metrics Explorer
- Cloud Logging
您可以使用资源元数据标签来缓解 Cloud Monitoring 和 Metrics Explorer 中提醒的问题。使用系统元数据标签 region
,而不是 cloudsql_database 受监控的资源标签 region
。