一、数据备份与恢复

按照备份方式分类:物理备份,直接复制数据库的物理文件,可以直接拷贝和恢复;逻辑备份,通过SQL语句导出数据库结构和数据,可用于不同版本和不同类型的MySQL数据库之间的数据迁移。

按照数据库服务状态分类:冷备份,在备份时停止数据库服务,将整个数据库复制到备份设备中;热备份,在备份的时候数据库依旧运行。

二、备份策略

完全备份策略:每次备份都完整复制整个数据库的所有数据。

增量备份策略:只备份自上次备份后发生变化的数据。

差异备份策略:备份自上次完全备份后所有变化的数据。

1.完全备份与恢复
(1)物理备份与恢复

备份操作示例:

cp -r /var/lib/mysql /bakdir/mysql.bak  #拷贝数据库目录
tar -zcf /bakdir/mysql.tar.gz  ./*      #打包压缩数据源文件

恢复操作示例:

tar -xf /root/mysql.tar.gz  -C /var/lib/mysql/   #释放压缩包
chown -R mysql:mysql /var/lib/mysql        #修改所有者和组用户
(2)逻辑备份与恢复

完全备份语法:

mysqldump -uroot -p密码 库名 > /目录/xxx.sql

完全恢复语法:

mysql -uroot -p密码 库名 < /目录/xxx.sql
(3)备份缺点

物理备份跨平台型差,备份时间长、浪费存储空间。

mysqldump备份效率较低、备份和还原速度慢、会锁表,在备份过程中,数据插入和更新操作被阻塞。

2.增量备份与恢复

PERCONA Xtrabackup是一款强大的在线热备份工具,备份过程中不锁库表,适合生产环境。支持完全备份与恢复、增量备份与恢复、差异备份与恢复。

(1)增量备份

首次全备份

xtrabackup --host=ip --user=root --password=密码 --backup --target-dir=备份目录 --datadir=数据库目录

增量备份

xtrabackup --host=ip --user=root --password=密码 --backup --target-dir=备份目录 --incremental-basedir=参考目录  --datadir=数据库目录
(2)增量恢复

准备恢复数据

xtrabackup --prepare --apply-log-only --target-dir=/opt/fullbak

合并数据

xtrabackup --prepare --apply-log-only --target-dir=/opt/fullbak --incremental-dir=新数据目录名

清空数据库目录

rm -rf /var/lib/mysql/*

拷贝数据

xtrabackup --copy-back --target-dir=/fullbak

修改数据库目录所有者/组用户为mysql

chown -R mysql:mysql /var/lib/mysql

重启数据库服务

systemctl  restart  mysqld
3.差异备份与恢复
(1)差异备份

 首次全备份

xtrabackup --host=ip --user=root --password=密码 --backup --target-dir=备份目录 --datadir=数据库目录

增量备份

xtrabackup --host=ip --user=root --password=密码 --backup --target-dir=备份目录 --incremental-basedir=参考目录  --datadir=数据库目录
(2)差异恢复

准备恢复数据

xtrabackup --prepare --apply-log-only --target-dir=/opt/fullbak

合并数据

xtrabackup --prepare --apply-log-only --target-dir=/opt/fullbak --incremental-dir=最后一次差异备份

拷贝数据

xtrabackup --copy-back --target-dir=/fullbak

三、Binlog日志管理

Binlog日志记录了所有对数据库的修改操作,但不包含select和show这类只读查询。其主要功能包括:实现主从复制,从库通过读取主库的binlog完成数据同步;支持数据恢复,可根据binlog将数据库恢复到指定时间点的状态。

查看正在使用的binlog日志文件

show master status;      #查看日志文件

自定义日志目录和日志名

#vim /etc/my.cnf.d/mysql-server.cnf
[mysqld]
log-bin=/mylog/mysqllog       #定义日志目录和日志文件名

查看已有的日志文件

show binary logs;

查看日志文件内容

show binlog events in 日志文件;

日志字段说明:

  • Log_name: 日志文件名
  • Pos: 命令在日志文件中的起始位置
  • Event_type: 事件类型(如 Query、Table_map、Write_rows 等)
  • Server_id: 服务器 ID
  • End_log_pos: 命令在文件中的结束位置(单位:字节)
  • Info: 执行的命令详细信息

删除日志文件名之前的所有日志文件

purge master logs to 日志文件;

删除所有日志文件,并重新创建日志文件

reset master;

执行日志恢复数据

mysqlbinlog 日志文件 | mysql -u 用户名 -p 密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920039.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920039.shtml
英文地址,请注明出处:http://en.pswp.cn/news/920039.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单机多卡间大张量传输迷惑行为?

老铁们我最近真的好惨&#x1f62d;&#xff0c;一个大模型在单机多卡上运行就是出错&#xff0c;debug看的老眼昏花&#xff0c;最后发现大张量在设备间直接传输会有很发癫的行为&#xff0c;还请大家帮我看看&#x1f647;‍摒弃屎山一样的代码&#xff0c;简单运行下列脚本i…

无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

1 问题描述今天使用pnpm安装如下报错&#xff1a;pnpm : 无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 行:1 字符: 1pnpm install~~~~ Categor…

内核编译 day61

二&#xff1a;内核启动 一&#xff1a;流程 sudo vim /etc/network/interfaces sudo chmod 0666 /etc/default/tft...... //修改可读uboot命令&#xff1a; help/&#xff1f; &#xff1a; 帮助手册&#xff0c;列出uboot支持的所有命令 printenv/print 打印环境变量 sete…

【YOLOv5部署至RK3588】模型训练→转换RKNN→开发板部署

已在GitHub开源与本博客同步的YOLOv5_RK3588_object_detect项目&#xff0c;地址&#xff1a;https://github.com/A7bert777/YOLOv5_RK3588_object_detect/tree/main 详细使用教程&#xff0c;可参考README.md或参考本博客第六章 模型部署 文章目录一、项目回顾二、模型选择介绍…

Telematics Control Unit(TCU)的系统化梳理

1、Telematics Control Unit (TCU)概述 TCU中文名为远程信息处理控制单元&#xff0c;很多场合都称为Telematics Box&#xff0c;又叫TBox&#xff0c;顾名思义&#xff0c;一般都为一个独立的盒子&#xff08;如图2、图3所示&#xff09;&#xff0c;负责和云端的远程信息交互…

Appium学习笔记

adb构成client端&#xff0c;在电脑上&#xff0c;负责发送adb命令daemon守护进程&#xff0c;在手机上&#xff0c;负责接收和执行adb命令server端&#xff0c;在电脑上&#xff0c;负责管理client和daemon之间的通信![[Pasted image 20250825201322.png]]包名&#xff0c;对应…

栈指针(Stack Pointer)是什么?

栈指针(Stack Pointer)是什么? 首先,用一个简单易懂的方式解释栈指针(Stack Pointer)。 核心比喻:摞起来的书 想象有一摞书整齐地堆在桌面上: 这摞书就是“栈”(Stack),它是一种后进先出(LIFO) 的数据结构。你只能从最顶部拿走一本书(“弹出”),或者把一本新…

数据结构:红黑树(Red-Black Tree)

目录 从AVL树的“烦恼”说起 如何用“颜色”来定义“大致平衡”&#xff1f;—— 红黑树的五个规则 五个规则如何保证“大致平衡”&#xff1f; 用 C/C 代码定义红黑树的结构 定义颜色和节点结构 定义树的结构和哨兵节点 从AVL树的“烦恼”说起 我们从已经了解的 AVL 树出…

Ubuntu22.04安装VMware Tools

文章目录前言安装open-mv-tools前言 本教程使用的版本是Ubuntu22.04.5&#xff0c;由于虚拟机上面的重新安装VMware Tools是灰的&#xff0c;于是自动下载安装open-mv-tools&#xff0c; 安装open-mv-tools 打开终端&#xff0c;更新一下 sudo apt update这一步可能需要先…

DBeaver连接SQL Server时添加驱动后仍提示找不到驱动的解决方法

DBeaver连接SQL Server时添加驱动后仍提示找不到驱动的解决方法 在使用DBeaver连接SQL Server时&#xff0c;即使您已手动添加驱动文件&#xff0c;系统仍提示“找不到驱动”&#xff0c;这通常是由驱动配置错误、版本不兼容或SQL Server设置问题引起的。以下我将逐步为您提供解…

JVM之【类加载系统】

目录 前言 类加载过程 类加载 执行过程 加载阶段 连接阶段 初始化阶段 类加载器 BootstrapClassLoader ExtClassLoader AppClassLoader 类加载器之间的关系 双亲委派机制 核心思想 好处 源码分析 类加载器之间的父子层级关系 双亲委派的体现 前言 上文中提到…

【 限流技术 | 从四大限流算法到Redisson令牌桶实践 】

引言&#xff1a;为什么需要限流&#xff1f;在现代分布式系统中&#xff0c;服务的稳定性是至关重要的。在遇到突发的请求量激增&#xff0c;恶意的用户访问&#xff0c;亦或是请求频率过高给下游服务带来较大压力时&#xff0c;我们常常需要通过缓存、限流、熔断降级、负载均…

深入解析Java NIO多路复用原理与性能优化实践指南

深入解析Java NIO多路复用原理与性能优化实践指南 技术背景与应用场景 在高并发网络编程中&#xff0c;传统的阻塞 I/O 模型往往因每个连接都占用一个线程或一个系统调用而导致线程资源浪费、线程切换开销剧增等问题&#xff0c;难以满足数万甚至数十万并发连接的负载要求。Jav…

目标检测数据集 第006期-基于yolo标注格式的汽车事故检测数据集(含免费分享)

目录 目标检测数据集 第006期-基于yolo标注格式的汽车事故检测数据集(含免费分享) 超实用汽车事故检测数据集分享&#xff0c;助力计算机视觉研究&#xff01; 1、背景 2、数据详情 数据集基本信息 结构组成 标注格式与示例 类标签说明 数据增强情况 3、应用场景 4、…

应用密码学(书籍学习笔记、基础知识) 一

本博客为读《应用密码学》所得笔记 文章目录一、 加密与解密1.2 秘钥Key1.2.1 引入秘钥K1.2.2 加密秘钥K1&#xff0c;解密秘钥K2二、对称算法 VS 公开密钥算法**① 对称算法** - 传统密码算法 **(Symmetric Algorithm) &#x1f511;****② 非对称算法特点** - 公开秘钥算法 *…

【攻防世界】Web_php_include

1.信息收集题目&#xff1a;Web_php_include &#xff1a;PHP文件包含漏洞2.思路&#xff1a;1.代码审计&#xff1a;<?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) { //在一个字符串中查…

cmake--CPack/deb

deb包的需求 怎么使用cmake把项目的依赖想打包为deb包,把项目的可执行文件和依赖文件打包为deb包,又怎么样配置apt源,让项目在jenkins构建之后,可以通过sudo apt install 下载deb包和安装到任意主机上? 整体流程概览 使用CMake构建项目:确保你的项目可以被CMake正确编译…

七十五、【Linux数据库】部署Redis服务 、 部署LNMP+Redis

Redis 与 LNMP 集成功能概述 Redis 核心功能 内存数据存储:高速读写性能 数据结构丰富:字符串、哈希、列表、集合等 持久化支持:RDB快照和AOF日志 发布订阅:消息队列功能 高可用:主从复制、哨兵模式、集群 LNMP+Redis 集成价值 会话共享:多Web服务器共享Session 数据缓存…

从YOLOv5到RKNN:零冲突转换YOLOv5模型至RK3588 NPU全指南

从YOLOv5到RKNN&#xff1a;零冲突转换YOLOv5模型至RK3588 NPU全指南 在嵌入式AI领域&#xff0c;将训练好的深度学习模型高效部署到边缘设备的NPU&#xff08;神经网络处理器&#xff09;上是提升性能的关键。本文将详细介绍如何在Ubuntu 20.04环境下&#xff0c;将YOLOv5l模型…

DNS的解析过程是怎样的?它基于传输层的什么协议?

问题DNS的解析过程是怎样的&#xff1f;它基于传输层的什么协议&#xff1f;我的回答&#xff1a;DNS解析过程是将域名转换为IP地址的一系列步骤。这个过程涉及多级缓存和查询&#xff1a;首先是浏览器缓存&#xff0c;浏览器会先检查自己的DNS缓存是否有记录。接着是操作系统缓…