与复制功能的配置相关的要求和提示

本页面提供有关使用读取副本外部副本的要求和最佳做法。

如需了解如何配置读取副本,请参阅创建读取副本

只读副本

读取副本是从 Cloud SQL 主实例复制的 Cloud SQL 实例。读取副本为只读状态。您无法对此类副本执行写入操作。您可以使用副本从主实例中分流出读取请求和分析流量。

如需了解如何配置读取副本,请参阅创建读取副本

读取副本主实例要求

在创建 Cloud SQL 实例的读取副本之前,该实例必须满足以下要求:

  • 必须启用二进制日志功能。了解详情
  • 启用二进制日志功能后,必须至少已创建一个备份。

Cloud SQL 读取副本主题的快速参考

主题 讨论
高可用性 读取副本既不具有高可用性也不提供此性能。
故障转移 主实例无法故障转移到读取副本,并且读取副本在中断期间无法以任何方式进行故障转移。
维护期 读取副本不支持维护期设置,它们不与主实例共享维护期。可能随时对读取副本进行维护。读取副本与主实例的维护时间不同。
中断性升级 读取副本随时可能出现升级中断。
性能 您创建读取副本时,它不会影响主实例的性能或可用性。
多个读取副本 您可以为一个主实例创建多个读取副本。
负载平衡 Cloud SQL 不会在各副本之间提供负载平衡。
设置 主实例的 MySQL 设置会传播到副本,包括 root 密码及用户表的相关更改。层级更改不会传播到副本。
机器类型 读取副本的机器类型(或层级)可以与主实例的不同。读取副本的 CPU 和内存可以多于但不能少于主实例的 CPU 和内存。
用户表 您不能更改副本中的用户表。所有用户更改都必须在主实例上完成。
备份 您不能为副本配置备份。
恢复主实例 当副本存在时,您无法恢复副本的主实例。在使用副本恢复实例或对其执行时间点恢复之前,必须提升或删除其所有副本。
删除主实例 您必须先将主实例的所有读取副本提升为独立实例或删除它们,然后才能删除主实例。
停用二进制日志 您必须先提升或删除主实例的所有读取副本,然后才能停用主实例上的二进制日志。
为副本创建副本 您不能为副本创建副本。
停止副本 您不能对副本执行 stop 操作。您可以对它执行 restartdeletedisable replication 操作,但不能像停止主实例那样对它执行停止操作。

结算

  • 读取副本按与标准 Cloud SQL 实例相同的费率计费。数据复制可免费使用。
  • 由于副本始终与其主实例保持连接,因此主实例永不会停用。这种情况可能导致主实例的计费增加。了解详情。

外部读取副本

外部读取副本是从 Cloud SQL 主实例复制的外部 MySQL 实例。

要了解如何配置外部读取副本,请参阅配置外部副本

外部读取副本配置要求

主实例的要求:

主实例必须启用二进制日志功能。 了解详情

对外部副本的要求:

副本的 MySQL 版本应与主实例的 MySQL 版本一致或具有更高版本。了解详情

外部副本配置的相关信息

以下信息适用于外部副本配置:

  • 在 Compute Engine 上运行的 MySQL 实例被视作外部实例。
  • 从主实例流向外部副本的数据作为网络出站流量进行计费。如需了解 Cloud SQL 实例类型的网络出站价格,请参阅价格页面。
  • 可能无法将数据复制到由其他云平台托管的 MySQL 实例;详情请查看其他提供商的相关文档。
  • 如果复制仅中断几个小时(例如由网络或服务器中断而引起),则副本的状态会滞后于主实例。一旦副本重新连接到主实例并再次开始复制,副本应当会立即赶上主实例。但是,如果复制中断的时间超过了 Cloud SQL 复制日志的保留时间(7 个备份),则必须删除该副本并创建新的副本。
  • 为安全起见,应在主实例上配置 SSL/TLS。 了解详情

二进制日志的影响

必须启用主实例的二进制日志功能来支持读取副本。 此操作具有以下影响:

  • 性能开销

    Cloud SQL 配合 MySQL 标志 sync_binlog=1innodb_support_xa=true 使用基于行的复制方式。因此,每个写入操作都需要额外的磁盘 fsync,从而降低了性能。

  • 存储开销

    二进制日志的存储按常规数据的费率进行计费。 Cloud SQL 保留从完成最早一个备份起的二进制日志。Cloud SQL 当前保留最近的 7 个备份和所有按需备份。二进制日志的大小及由此产生的费用由工作负载而定。例如,与频繁读取的工作负载相比,频繁写入的工作负载将占用更多的二进制日志空间。

    您可以使用 SHOW BINARY LOGS MySQL 命令查看二进制日志的大小。

    进行备份时,日志随数据一起存储在备份中。

    二进制日志会自动截断到最早的自动备份时间。

  • 实例重启

    启用或停用二进制日志功能时,实例都将重启。 现有数据库连接将丢失,必须重新建立。

后续步骤