中国站
帮助中心 > 数据库 > 云数据库MySQL > 最佳实践 > 备份数据库

备份数据库

备份简介

备份方式

云数据库MySQL 支持自动备份手动备份两种方式来备份数据库。

备份类型

云数据库MySQL 支持两种备份类型:

  • 物理备份,物理数据全拷贝(自动被封与手动备份均支持)。
  • 逻辑备份,SQL语句的备份(手动备份支持)。

    说明:

    • 单个实例的表数量超过100万后,可能会造成备份失败,同时也会影响数据库监控,请合理规范表的数量,控制单个实例表数量不超过100万。
    • 由于 Memory 引擎表的数据存储在内存中,因此无法对 Memory 引擎表进行物理备份,为避免丢失数据,建议将 Memory 引擎表转换成 InnoDB 表。
    • 实例存在大量无主键表,可能会造成备份失败,同时会影响实例的高可用性,请及时对无主键的表创建主键或者二级索引。
物理备份的优势 逻辑备份的劣势
  • 备份速度快。
  • 支持流式备份和压缩。
  • 备份成功率高。
  • 恢复简单并且高效。
  • 依赖备份进行的耦合操作,例如,增加 RO、增加灾备会变得更快。
  • 物理备份完成的平均时长为逻辑备份的八分之一左右。
  • 物理备份的导入速度比逻辑备份导入快十倍左右。
  • 恢复时需要执行 SQL 和构建索引,恢复时间长。
  • 备份速度慢,数据量大的情况下尤为明显。
  • 备份过程中会对实例造成压力,可能会加大主从延迟。
  • 有可能会丢失浮点数的精度信息。
  • 由于各种问题(错误视图等),可能导致备份失败。
  • 依赖备份进行的耦合操作,例如,增加 RO、增加灾备会变得缓慢。
  • 备份对象

    数据备份 日志备份
  • 自动备份支持全量物理备份。
  • 手动备份支持全量物理备份、全量逻辑备份和单库单表逻辑备份。
  • 自动备份与手动备份均支持压缩和下载。
    MySQL 单节点(云盘):
  • 自动备份支持全量快照备份。
  • 手动备份支持全量快照备份。
  • 自动备份和手动备份均不支持下载。
  • 日志文件占用实例备份空间。
  • 日志文件支持下载,但不支持压缩。
  • 可设置日志文件保留时长。
  • 注意事项

    • 建议选择业务低峰期进行备份。
    • 为避免所需备份文件超出保留时间被删除,请及时下载所需的备份文件至本地。
    • 备份期间禁止DDL操作,避免锁表导致备份失败。

    自动备份 MySQL 数据

    1. 登录 MySQL 控制台, 在实例列表,点击实例名称或操作栏的管理,选择备份恢复 > 备份设置
      备份设置按钮
    2. 点击红底白字的编辑按钮,选择各备份参数,单击确定
      备份设置编辑

    手动备份 MySQL 数据

    1. 登录 MySQL 控制台, 在实例列表,点击实例操作栏的管理,点击页面右上角的备份实例按钮。
    2. 在弹出的备份实例对话框,选择备份方式和策略,点击确定
      备份实例-物理备份

      说明:
      如果是逻辑备份下的单库备份,请在左侧选择要备份的数据库,点击它所在行的备份,将之加入右侧列表。若您尚无数据库,请先创建数据库。
      备份实例-物理备份-单库备份

    热点问题

    1. 超出备份保留时间的备份还可以下载或还原吗?

    • 建议您根据需求合理设置备份保留时间,或在 MySQL 控制台 下载备份文件至本地。
    • 您也可以在控制台通过手动备份实例数据,手动备份会一直保存。

    2. 备份可以手动删除吗?

    不可以。但自动备份可设置备份保留时间,到期后自动删除。

    3. 数据和日志备份是否可以关闭?

    日志备份可以在备份恢复 > 备份设置 中关闭。数据备份不可以关闭,但可以通过减少备份频率来降低备份的空间占用量。

    4. 如何减少备份空间开销?

    • 降低非核心业务的数据自动备份频率(可在控制台调整备份周期)。
    • 缩短非核心业务的数据备份和日志备份保存时间(备份保留时间为7天已经能满足大多数场景需要)。
    业务场景 备份保留时间
    核心业务 建议7天 - 3650天,建议开启定期备份,实现定期将备份进行长期保存
    非核心、非数据类业务 建议7天
    归档业务 建议数据备份保留时间设置为7天,根据实际业务需求手动备份数据,用完及时删除
    测试业务 建议数据备份保留时间设置为7天,根据实际业务需求手动备份数据,用完及时删除