MySQL备份与恢复

目录

一、MySQL完全备份与恢复

1、数据库备份的重要性

2、数据库备份的分类

2.1 物理备份

2.2 逻辑备份

3、MySQL完全备份与恢复

3.1 使用tar打包文件夹备份

3.2 使用mysqldump工具备份

 3.3 MySQL完全恢复

 二、MySQL增量备份与恢复

1、增量备份的特点

2、实现增量备份

2.1 开启二进制日志功能

2.2 重启服务,查看二进制文件内容

 2.3 进行完全备份并更新二进制日志

 3.实现增量恢复

3.1 删除表test1

 3.2 基于二进制日志文件恢复

 3.3 查看test库

 3.4 断点恢复


一、MySQL完全备份与恢复

1、数据库备份的重要性

  • 提高系统的高可用性和灾难可恢复性
  • 在生产环境中,数据的安全性至关重要
  • 任何数据的丢失都可能产生严重的后果
  • 在使用数据库的过程中,有多种原因造成数据的丢失:
    ①程序错误
    ②人为错误:误操作或被攻击
    ③磁盘故障
    ④灾难 :火灾、地震和盗窃

2、数据库备份的分类

2.1 物理备份

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

2.2 逻辑备份

  • 完全备份:每次对数据进行完整备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础完全备份的备份与恢复操作都非常简单方便,但是数据存在大量的重复并且会占用大量的磁盘空间,备份的时间也很长

  • 差异备份:备份那些自从上次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。恢复数据时只需要恢复上次的完全备份与最佳的一次差异备份

  • 增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份

备份方式完全备份差异备份增量备份
完全备份时的状态表1、表2表1、表2表1、表2
第一次添加内容创建表3创建表3创建表3
备份内容表1、表2、表3表3表3
第二次添加内容创建表4创建表4创建表4
备份内容表1、表2、表3、表4表3、表4表4

3、MySQL完全备份与恢复

3.1 使用tar打包文件夹备份

tar -jcf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/ 
ls /opt/  
mysql-2022.09.18.tar.xz
du -sh data/
134M	data/
du -sh /opt/mysql-2022.09.18.tar.xz
852K	/opt/mysql-2022.09.18.tar.xz

3.2 使用mysqldump工具备份

3.2.1 备份yyh库

mysqldump -u root -p[密码] --databases 库名1 [库名2] ... > /备份路径/备份文件名.sql 

 3.2.2 备份yyh库下yyh表

 3.2.3 备份所有库

 3.2.4 只备份yyh库下yyh表的结构

 3.3 MySQL完全恢复

3.3.1 source命令恢复整库

 

 3.3.2 mysql命令整库恢复

 

 

 二、MySQL增量备份与恢复

1、增量备份的特点

  • 一般恢复
    将所有备份的二进制日志内容全部恢复

  • 基于位置恢复
    数据库在某一时间点可能既有错误的操作也有正确的操作
    可以基于精准的位置跳过错误的操作
    发生错误节点之前的一个节点,上一次正确操作的位置点停止

  • 基于时间点恢复
    跳过某个发生错误的时间点实现数据恢复
    在错误时间点停止,在下一个正确时间点开始

2、实现增量备份

2.1 开启二进制日志功能

 二进制日志(binlog)有3种不同的记录格式: STATEMENT (基于SQL语句)、ROW(基于行)、MIXED(混合模式),默认格式是STATEMENT

  • STATEMENT(基于SQL语句):
    每一条涉及到被修改的sql 都会记录在binlog中

  • ROW(基于行)
    只记录变动的记录,不记录sql的上下文环境

  • MIXED 推荐使用
    一般的语句使用statement,函数使用ROW方式存储。

2.2 重启服务,查看二进制文件内容

 2.3 进行完全备份并更新二进制日志

 3.实现增量恢复

3.1 删除表test1

 3.2 基于二进制日志文件恢复

 3.3 查看test库

 3.4 断点恢复

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值