已知问题

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

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

数据耐用性和可用性问题

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

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

实例连接问题

  • SSL/TLS 证书已过期

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

  • Cloud SQL Auth 代理版本

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

  • 无权连接

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

管理问题

  • 无法取消或停止长时间运行的 Cloud SQL 实例操作

    一次只能对 Cloud SQL 实例运行一个操作。因此,在启动长时间运行的操作时,请确保不需要对实例执行其他操作。

    启动长时间运行的 Cloud SQL 实例操作(如导入或导出操作)后,如果不重启实例,则无法取消该操作。

  • 删除某一实例后,无法立即重新使用该实例的名称

    删除某一实例后,您无法立即重新使用该实例的名称,因为 Cloud SQL 会将该名称保留几天。如果您需要创建和删除名称相同的实例,请考虑将时间戳用在名称中,以避免名称冲突。

  • 设置 MySQL 实例的时区

    您可以使用会话变量将 MySQL 时区设置为指定区域,例如“欧洲/莫斯科”。但是,此操作不受 Cloud SQL 支持,也无法保证提供最新的时间设置。如需更改实例的默认时区,请使用世界协调时间 (UTC) 的偏移量(例如,+10:00更新 default_time_zone 标志。不支持自动调整为夏令时;您必须手动更新 default_time_zone 标志来反映夏令时。

数据导入和导出问题

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

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

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

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

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

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

事务日志和磁盘增长

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

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

升级 MySQL 实例时出现的问题

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