一、MySQL 完全备份与恢复
1.1数据备份的重要性
(1)备份的主要目的是灾难恢复。
(2)在生产环境中,数据的安全性至关重要。
(3)任何数据的丢失都可能产生严重的后果。
1.2造成数据丢失的原因
(1)程序错误
(2)人为操作错误
(3)运算错误
(4)磁盘故障
(5)灾难(如火灾、地震)和盗窃
1.3数据库备份的分类
(1)从物理与逻辑的角度,备份可分为物理备份和逻辑备份。
(2)从数据库的备份策略角度,备份可分为完全备份、差异备份和增量备份。
1.3.1物理备份
(1)冷备份(脱机备份):是在关闭数据库的时候进行的
(2)热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件
(3)温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作
1.3.2逻辑备份
对数据库逻辑组件(如:表等数据库对象)的备份。
即以SQL语句的形式,把库、表结构、表数据保存下来
(1)完全备份(全量备份):每次对数据库进行完整的备份。
(2)差异备份:备份自从上次完全备份之后被修改过的文件。
(3)增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份。
二、常见的备份方法
2.1物理冷备(完全备份)
(1)备份时数据库处于关闭状态,直接打包数据库文件
(2)备份速度快,恢复时也是最简单的
2.2专用备份工具mydump或mysqlhotcopy (完全备份,逻辑备份)
(1)mysqldump常用的逻辑备份工具 (导出为sql脚本)
(2)mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表
(3)启用二进制日志进行增量备份 (增量备份)
(4)进行增量备份,需要刷新二进制日志
2.3第三方工具备份
免费的MySQL热备份软件Percona XtraBackup(阿里云的工具:dts,支持热迁移&