本文地址:https://www.askmac.cn/archives/mysql-backup_recovery_knowledge.html
第11章 备份和恢复
章节概述
本章介绍了MySQL数据备份和恢复。你将学习并了解:
- 备份的类型
- 进行二进制备份和文本备份
- 备份中日志和状态文件的角色作用
- 使用一个复制从库(replication slave)来进行备份
- 进行数据恢复
- 倒入数据文件
11.1 备份概述
MySQL数据库备份一般用于应对可能的系统崩溃或硬件故障而导致的数据损失或讹误问题。备份同样对于用户误操作,如误删数据库或表等恢复有帮助。也有时候备份被用于将数据库拷贝或移动到另一个服务器中,如当你需要进行MySQL安装迁移,或建立一个复制从库时。
备份可以是对数据文件的直接拷贝,或是通过设计程序来完成同样的备份目的。这些程序包括mysqldump,mysqlhotcopy和InnoDB Hot Backup。
对于数据库运维,备份总是必要的,不过备份仅仅是在数据受损后所需进行数据恢复的组件之一。其它的你还需要二进制日志(binary log)文件,它包含了数据修改的记录。进行数据库恢复时,你使用备份将数据库恢复到备份时的状态,然后重新执行binary log中包含的语句来应用备份后的数据修改。
这里列出了在进行备份时需要记住的一些原则:
- 制作一般备份。
- 启用binary log,这样你在进行备份后,对数据修改的记录将会被保存在日志文件中。
- 在备份后,使用flush命令,使得服务端从一个新的binary log文件开始,这个日志文件对应了备份的时间(也就是说,将此备份后的日志看作是一个“检查点”,从这个时间后开始的日志记录是备份之后新的数据修改)。
- 将数据文件目录和你的备份放置在不同的物理设备中,这样一旦某个设备出现故障,不会造成同时被影响的后果。
- 将你的备份存在在通常合理的文件系统位置中,这样一旦需要就可以从这些位置上找到备份进行恢复。