MySQL 数据库备份(一)(完全备份与恢复)

本文详细探讨了MySQL数据库的完全备份,包括备份的重要性和分类,如物理备份、逻辑备份、完全备份、差异备份和增量备份。重点讲解了MySQL的mysqldump工具进行备份演练,同时介绍了完全恢复的方法,包括使用source命令和MySQL命令恢复整库和表的操作。强调了定期备份和启用日志在数据库管理中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

  • 随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色
  • 数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段
  • 一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源

一、MySQL 完全备份

1.数据库备份方式精讲

1.1 数据库备份的重要性

生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果

数据库备份的重要性主要体现在:

  1. 提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据库备份就没法找到数据
  2. 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案,如果让用户重新添加数据,代价未免太大
  3. 没有数据就没有一切,数据库备份是一种防范灾难的强力手段

使用数据库的过程中,有多种原因造成数据的丢失:

  1. 程序错误:指对数据库操作的程序难免有些错误,造成数据丢失
  2. 人为错误:指由于使用人员的误操作造成的数据被破坏,还有可能是黑客对系统攻击造成的数据丢失等
  3. 计算机失败:指运行数据库的服务器操作系统或软件损坏,有可能造成数据的损坏
  4. 磁盘失败:指硬盘等存储数据的硬件设备,长时间运行后可能损坏,造成数
    据丢失
  5. 灾难(如火灾、地震)和偷窃:指自然灾害等的发生,有可能造成数据丢失
  • 数据丢失会造成严重的经济损失,如携程网2015年5月28日数据库崩溃,每小时损失大概106万美元
  • 所以在企业信息系统建设中,数据库的备份管理是非常重要的内容

1.2 数据库备份的分类

备份方式分很多种,从物理与逻辑的角度,备份可分为以下几类:

1.2.1 物理备份
  • 指对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
  • 物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)
  • 冷备份(脱机备份):在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性
  • 热备份(联机备份):在数据库运行状态中进行操作,这种备份方法依赖于数据库的日志文件
1.2.2 逻辑备份
  • 指对数据库逻辑组件(如表等数据库对象)的备份

从数据库的备份策略角度来看,备份又可分为完全备份、差异备份和增量备份

1.2.3 完全备份
  • 每次对数据进行完整的备份
  • 可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象
  • 但它需要花费更多的时间和空间,所以,做一次完全备份的周期要长些
1.2.4 差异备份
  • 备份那些自从上次完全备份之后被修改过的文件,即只备份数据库部分的内容
  • 它比最初的完全备份小,因为只包含自上次完全备份以来所改变的数据库
  • 它的优点是存储和恢复速度快
1.2.5 增量备份
  • 只有那些在上次完全备份或者增量备份后被修改的文件才会被备份
1.2.6 备份方式比较
备份方式 完全备份 差异备份 增量备份
完全备份时的状态 表1、表2 表1、表2 表1、表2
第1次添加内容 创建表3 创建表3 创建表3
备份内容 表1、表2、表3 表3 表3
第2次添加内容 创建表4 创建表4 创建表4
备份内容 表1、表2、表3、表4 表3、表4 表4
  • 完全备份每次都是把整个数据库中的内容进行备份
  • 差异备份在第1次添加内容后备份,即备份新添加的内容;第2次添加内容后备份,把第1次添加的内容也进行了备份,它是根据完全备份时的状态决定的
  • 差异备份每次都是把完全备份之后所有的修改进行备份,而不管之前是否做过差异备份
  • 增量备份只备份每次新修改的内容,第1次创建表3,就对表3备份,第2次添加表4后,因为之前已经备份过表3,所以只备份表4的内容

1.3 MySQL 完全备份概念解读

  • MySQL 的备份方式主要有完全备份与增量备份
  • 完全备份是对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是增量备份的基础
  • 完全备份的优点是备份与恢复操作简单方便,缺点是数据存在大量重复,占用大量的备份空间,备份的时间长
  • 在生产环境中,这两种备份方式都会使用,需要制定合理高效的方案达到备份数据的目的,避免数据丢失造成严重的后果

2.mysqldump 备份演练

  • MySQL 数据库的备份可以采用两种方式
  • 因为数据库实际上就是文件,直接打包数据库文件夹,或者是使用专用备份工具 mysqldump 都可以进行备份工作

2.1 使用 tar 打包文件夹备份

  • MySQL 的数据库文件默认都是保存在安全目录的 data 文件夹下,可以直接保存 data 文件夹,因为占用空间较大,可以使用data 打包压缩进行保存
    mark
yum -y install xz
#数据库文件很大,可以使用压缩率较大的xz格式压缩,首选需要安装xz压缩格式工具

tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
#对数据库文件夹进行打包操作

ls /opt
#查看打包命令是否运行成功,已经生成了备份文件

du -sh /opt/
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xucf1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值