# 第 7 章 备份与恢复

目录

7.1 备份和恢复类型

7.2 数据库备份方法

7.3 示例备份和恢复策略

7.3.1 建立备份策略

7.3.2 使用备份进行恢复

7.3.3 备份策略总结

7.4 使用 mysqldump 进行备份

7.4.1 使用 mysqldump 以 SQL 格式转储数据

7.4.2 重新加载 SQL 格式的备份

7.4.3 使用 mysqldump 以分隔文本格式转储数据

7.4.4 重新加载分隔文本格式的备份

7.4.5 mysqldump 提示

7.5 时间点(增量)恢复

7.5.1 使用二进制日志的时间点恢复

7.5.2 使用事件位置的时间点恢复

7.6 MyISAM 表维护和崩溃恢复

7.6.1 使用 myisamchk 进行崩溃恢复

7.6.2 如何检查 MyISAM 表的错误

7.6.3 如何修复 MyISAM 表

7.6.4 MyISAM 表优化

7.6.5 设置 MyISAM 表维护计划

备份数据库很重要,这样您就可以恢复数据并在出现问题时重新启动并运行,例如系统崩溃、硬件故障或用户误删除数据。在升级 MySQL 安装之前,备份也是必不可少的保障,它们可用于将 MySQL 安装转移到另一个系统或设置副本服务器。

MySQL 提供了多种备份策略,您可以从中选择最适合您的安装要求的方法。本章讨论了您应该熟悉的几个备份和恢复主题:

  • 备份类型:逻辑与物理、完整与增量等。

  • 创建备份的方法。

  • 恢复方法,包括时间点恢复。

  • 备份调度、压缩和加密。

  • 表维护,以启用损坏表的恢复。

# 其他资源

与备份或维护数据可用性相关的资源包括:

  • MySQL Enterprise Edition 的客户可以使用 MySQL Enterprise Backup 产品进行备份。有关 MySQL Enterprise Backup 产品的概述,请参阅第 30.2 节,“MySQL 企业备份概述”.

  • 一个专门讨论备份问题的论坛可以在https://forums.mysql.com/list.php?28 (opens new window).

  • 详细信息mysql转储可以在第 4 章,MySQL 程序.

  • 此处描述的 SQL 语句的语法在第 13 章,SQL 语句.

  • 有关更多信息InnoDB备份程序,请参阅第 15.18.1 节,“InnoDB 备份”.

  • 复制使您能够在多个服务器上维护相同的数据。这有几个好处,例如使客户端查询负载能够分布在服务器上,即使给定的服务器脱机或发生故障,数据的可用性,以及通过使用副本在不影响源的情况下进行备份的能力。看第十七章,复制.

  • MySQL InnoDB Cluster 是一组产品,它们协同工作以提供高可用性解决方案。一组 MySQL 服务器可以配置为使用 MySQL Shell 创建集群。服务器集群有一个单一的源,称为主源,它充当读写源。多个辅助服务器是源的副本。创建高可用性集群至少需要三台服务器。客户端应用程序通过 MySQL 路由器连接到主应用程序。如果主节点失败,辅助节点会自动提升为主节点的角色,并且 MySQL 路由器将请求路由到新的主节点。

  • NDB Cluster 提供了适用于分布式计算环境的高可用、高冗余版本的 MySQL。看第 23 章,MySQL NDB 集群 8.0,它提供了有关 MySQL NDB Cluster 8.0 的信息。