MySQL 数据库备份(一)(完全备份与恢复)
前言
随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色,数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段,一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源
一、MySQL数据库备份
1.数据备份的重要性
备份的主要目的就是灾难恢复
在生产环境中,数据的安全性至关重要
任何数据的丢失都可能产生严重的后果
造成数据丢失的原因
程序错误
人为操作错误
运算错误
磁盘故障
灾难(天灾)和盗窃
2.数据库备份的分类
①物理备份(对磁盘块进行备份)
物理备份:对数据操作系统的物理文件(数据文件、日志文件等)的备份,方法有:
冷备份(脱机备份):在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性
热备份(联机备份):在数据库运行状态中进行操作,这种备份方法依赖于数据库的日志文件
温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作
②逻辑备份(对文件进行备份)
对数据库逻辑组件(如:表等数据库对象)的备份
完全备份:每次对数据库进行完整的备份
差异备份:备份从上次完全备份之后被修改过的文件
增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份
3.常见的备份方法
①物理冷备
备份时数据库处于关闭状态,直接打包数据库文件
备份速度快,恢复时也是最简单的
②专用备份工具mydump或mysqlhotcopy
mysqldump常用的逻辑备份工具
mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表
③启用二进制日志进行增量备份
进行增量备份,需要刷新二进制日志
④第三方工具备份
免费的MySQL热备软件Percona XtraBackup
二、完全备份
①物理冷备份与恢复
关闭MySQL数据库
使用tar命令直接打包数据库文件夹
直接替换现有MySQL目录即可
②mysqldump备份与恢复
MySQL自带的备份工具,可方便实现对MySQL的备份
可以将指定的库、表导出为SQL脚本
使用命令mysql导入备份的数据
systemctl stop mysqld
yum -y install xz
#数据库文件很大,可以使用压缩率较大的xz格式压缩,首选需要安装xz压缩格式工具
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
#对数据库文件夹进行打包操作
ls /opt
#查看打包命令是否运行成功,已经生成了备份文件
du -sh /opt/mysql-2021-10-24.tar.xz
#对比打包前后的文件大小,可以看到压缩的备份文件所占用空间很小
tar -Jxvf /opt/mysql