在《MySQL备份类型》一节介绍过冷备份,冷备份可以称为 Offline Backup(离线备份)。这种备份最为简单,一般只需要复制相关的数据库物理文件到另外的位置即可。
由于 MySQL 服务器中的数据文件是基于磁盘的文本文件,所以最简单、最直接的备份操作,就是将数据文件直接复制出来。但是由于 MySQL 服务器的数据文件在运行时期,总是处于打开和使用状态,因此备份文件不一定有效。为了解决该问题,在复制数据文件时,需要先停止 MySQL 服务器。
这样做的好处是可以保证数据库的完整性,备份过程简单且恢复速度相对快一些,但是关闭数据库会影响现有业务的进行。服务器停止运行期间,用户不能再继续访问网站。例如,一些电商网站店庆促销时,如果为了备份要停库,那么带来的代价损失将不可估量。所以冷备一般用于不是很重要、非核心的业务上面。
冷备份的优点如下:
冷备份的缺点如下:
数据库的物理文件主要由数据库的数据文件、日志文件以及配置文件等组成。MySQL 系统有一些共有的日志文件和系统表的数据文件。每种存储引擎的物理文件也不一样,不了解的可阅读学习《不同存储引擎的数据表在文件系统里是如何表示的》一节。
冷备的备份与恢复过程也很简单。仅仅需要如下几步:
1)为了保证所备份数据的完整性,在停止 MySQL 数据库服务器之前,需要先执行 FLUSH TABLES 语句将所有数据写入到数据文件的文本文件里。
2)停掉 MySQL 服务,命令(2种方式)如下:
3)备份过程就是复制整个数据目录到远程备份机或者本地磁盘上,Linux 和 Windows 命令如下:
备份到本次磁盘也可以手动复制上述相关目录里的数据文件。
4)恢复过程就更简单了,仅仅需要把已备份的数据目录替换原有的目录就可以了,最后重启 MySQL 服务。
恢复数据是数据库维护中最常用的操作,利用备份文件可以将 MySQL 数据库服务器恢复到备份时的状态,这样就可以将管理员的非常操作和计算机的故障造成的相关损失降到最小。
上面我们介绍了如何通过数据文件实现数据备份和恢复。需要注意的是,通过复制数据文件这种方式实现数据恢复时,必须保证两个 MySQL 数据库的主版本号一致。只有两个 MySQL 数据库主版本号相同时,才能保证它们的数据文件类型是相同的。
第一个数字表示主版本号,例如 MySQL 5.5.21 和 MySQL 5.5.01 这两个版本的主版本号都是 5,所以这两个数据库拥有相同类型的数据文件。