自学内容网 自学内容网

数据备份与恢复

数据备份与恢复

数据备份重要性

  • 备份的主要目的是灾难恢复。

  • 在生产环境中,数据的安全性至关重要。

  • 任何数据的丢失都可能产生严重的后果。

  • 造成数据丢失的原因:

    • 程序错误
    • 人为操作错误
    • 运算错误
    • 磁盘故障
    • 灾难(如火灾、地震)和盗窃

数据库备份分类和备份策略

数据库备份的分类

物理备份

物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。

物理备份方法:

  • 冷备份(脱机备份) :是在关闭数据库的时候进行的
  • 热备份(联机备份) :数据库处于运行状态,依赖于数据库的日志文件
  • 温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作
逻辑备份

逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份。

即以sql语句的形式,把库、表结构、表数据保存下来。

数据库的备份策略

  • 完全备份(全量备份):每次对数据库进行完整的备份。
  • 差异备份:备份自从上次完全备份之后被修改过的文件。
  • 增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份。

常见的备份方法

物理冷备: (完全备份)

  • 备份时数据库处于关闭状态,直接打包数据库文件
  • 备份速度快,恢复时也是最简单的

专用备份工具mydump或mysqlhotcopy (完全备份,逻辑备份)

  • mysqldump常用的逻辑备份工具 (导出为sql脚本)
  • mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表

启用二进制日志进行增量备份 (增量备份)

进行增量备份,需要刷新二进制日志

第三方工具备份

  • 免费的MySQL热备份软件Percona XtraBackup

(阿里云的工具:dts,支持热迁移)

完全备份

物理冷备份与恢复

  1. 关闭MySQL数据库
  2. 使用tar命令直接打包数据库文件夹
  3. 直接替换现有MySQL目录即可
操作
rpm -q xz
#使用xz工具进行压缩,检查xz工具是否已安装

yum install xz -y
#如果没安装,可以先yum安装
 
systemctl stop mysqld
#关闭服务
mkdir /backup/
#创建备份目录
 
tar Jcvf /backup/mysql_all_$(date +%F).tar.xz <数据库文件存放目录>
#打包数据库文件。
#源码编译安装/usr/local/mysql/data 
 #yum安装​/var/lib/mysql/
 
cd /backup/
#切换到备份目录 

ls
#查看目录内容

tar tf mysql_all_2022-06-05.tar.xz
#查看tar包内的文件 
恢复
tar Jxvf /backup/mysql_all_2024-11-22.tar.xz
#解压备份的数据库文件。
mv /backup/usr/local/mysql/data/  <数据库文件存放目录>

mysqldump备份与恢复

  1. MySQL自带的备份工具,可方便实现对MySQL的备份
  2. 可以将指定的库、表导出为SQL脚本
  3. 使用命令mysq|导入备份的数据
  4. 操作
mysqldump -u root -p密码 --databases 库1 [库2 ....] > XXX.sql
#备份一个或多个指定的库及库中所有的表

mysqldump -u root -p密码 --all-databases > XXX.sql
#备份所有库

mysqldump -u root -p密码 库名 > XXX.sql
#只备份指定库中的所有表(不包含库对象本身)

mysqldump -u root -p密码 库名 表1 [表2 ....] > XXX.sql
#只备份指定库中的一个或多个指定的表(不包含库对象本身)

完全恢复

#PALY1
先登录数据库,再执行 source sql文件路径  (如果sql文件里只备份了表,需要先 use 切换库再执行 source)

#PLAY2
mysql -u root -p密码 < sql文件路径           cat sql文件路径 | mysql -u root -p密码                #恢复库
   mysql -u root -p密码 库名 < sql文件路径      cat sql文件路径 | mysql -u root -p密码 库名           #恢复表

增量备份


原文地址:https://blog.csdn.net/JIUYINGQAQ/article/details/139842314

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!