MySQL进阶——数据备份与恢复(超详细!!!)

embedded/2025/3/16 18:04:36/

        本文将详细介绍 MySQL 数据备份与恢复的相关知识点。

本文目录

    • 1. 备份类型
    • 2. 备份策略设计
    • 3. 恢复方法
    • 4. 备份工具对比
    • 5. 逻辑备份
    • 6. 恢复

1. 备份类型

  • 逻辑备份:导出数据库的逻辑结构,以SQL语句的形式呈现,可读性强。适用于小数据量或跨版本迁移。常见工具包括 mysqldumpmysqlpumpmydumper。其特点是兼容性好,但备份和恢复速度较慢,支持单表、单库或全库备份。
  • 物理备份:直接复制数据库物理文件,如数据文件、日志文件。备份和恢复速度快,适合大数据量。
  • 增量备份:仅备份自上次全量或增量备份后的变更数据。适用于大数据量且每日变更较少的场景,常用工具为 XtraBackup,基于 InnoDB 的 LSN 日志。



2. 备份策略设计

  • 全量备份 + 增量备份:每周进行一次全量备份,每日进行一次增量备份。恢复时,先恢复全量备份,再应用所有增量备份,最后恢复未备份的 Binlog。
  • Binlog 备份:结合全量备份可实现时间点恢复。需确保开启 Binlog(log_bin=ON)。



3. 恢复方法

  • 逻辑备份恢复:使用 mysql 命令执行备份文件中的 SQL 语句进行恢复。
  • 物理备份恢复:以 XtraBackup 为例,需要先准备备份数据,再将文件复制到 MySQL 数据目录。
  • 时间点恢复(PITR):在误操作等场景下,可恢复到误操作前的状态。先恢复最近的全量备份,再应用 Binlog 到误操作前的时刻。



4. 备份工具对比

工具类型特点
mysqldump逻辑备份兼容性好,支持单表备份,速度慢,适合小数据量。
mydumper逻辑备份多线程备份,效率高,支持并行导出和压缩。
XtraBackup物理备份热备份,支持增量备份,适合大数据量,恢复速度快。
MySQL Shell逻辑/物理8.0+ 支持,可并行备份(util.dumpInstance()),集成度高。



5. 逻辑备份

# 备份整个数据库
mysqldump -u root -p --databases shop_db > shop_db_backup.sql# 仅备份表
mysqldump -u root -p shop_db orders > orders_backup.sql



6. 恢复

# 逻辑备份恢复整个数据库
mysql -u root -p shop_db < shop_db_backup.sql# 逻辑备份恢复单表
mysql -u root -p shop_db -e "source orders_backup.sql"



← 上一篇 Java进阶——常用类及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——数组超详细整理 →

http://www.ppmy.cn/embedded/173124.html

相关文章

【论文阅读方法】沐神课程:如何读论文

一篇论文的一般结构 titleabstractintroductionmethodexperienceconclusion 三明治论文阅读法 第一遍&#xff1a;海选 titleabstractconclusion——确定要不要读第二遍&#xff1a;精读 对整个文章过一遍&#xff0c;知道每一块在做什么 可以从标题开始读到最后&#xff0c;注…

RabbitMQ (Java)学习笔记

目录 一、概述 ①核心组件 ②工作原理 ③优势 ④应用场景 二、入门 1、docker 安装 MQ 2、Spring AMQP 3、代码实现 pom 依赖 配置RabbitMQ服务端信息 发送消息 接收消息 三、基础 work Queue 案例 消费者消息推送限制&#xff08;解决消息堆积方案之一&#…

iOS底层原理系列04-并发编程

在移动应用开发中&#xff0c;流畅的用户体验至关重要&#xff0c;而并发编程是实现这一目标的关键技术。本文将深入探讨iOS平台上的并发编程和多线程架构&#xff0c;帮助你构建高性能、响应迅速的应用程序。 1. iOS线程调度机制 1.1 线程本质和iOS线程调度机制 线程是操作…

【Java】——数据类型和变量

个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 文章目录&#xff1a; 1.Java中的注释1.1.基本规则1.2.注释规范 2.标识符3.关键字4.字面常量5.数据类型6.变量6.1变量的概念6.2语法6.3整型变量6.3.1整型变量6.3.2长整…

Java构造方法详解:从入门到实战

目录 一、什么是构造方法&#xff1f; 二、构造方法的作用 三、构造方法分类与使用 1. 默认构造方法 2. 有参构造方法 3. 构造方法重载 四、注意事项&#xff08;避坑指南&#xff09; 五、经典面试题解析 六、实战应用场景 七、总结 一、什么是构造方法&#xff1f; …

2025-03-15 学习记录--C/C++-PTA 练习3-4 统计字符

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 练习3-4 统计字符 本题要求编写程序&#xff0c;输入10个字符&#xff0c;统计其中英文字母、空格或回车、…

软考中级设计模式实战宝典:核心意图解析+适用场景+完整源码下载+高频题库

简介&#xff1a; 备战软考中级软件设计师&#xff0c;设计模式模块占分高、考点深&#xff1f;本文专为高效备考打造&#xff01; 直击考点&#xff1a;逐条解析23种设计模式的核心意图与适用场景&#xff0c;搭配UML类图快速理解模式本质&#xff0c;告别抽象理论。代码实战…

Linux内核中断管理总

Linux内核中断管理总 参考博文 linux IRQ Management&#xff08;七&#xff09;- 中断处理流程