MySQL-备份(三)

备份作用:保证数据的安全和完整。

一 备份类别

类别物理备份 xtrabackup逻辑备份mysqldump
对象数据库物理文件数据库对象(如用户、表、存储过程等)
可移植性差,不能恢复到不同版本mysql对象级备份,可移植性强
占用空间占用空间大占用空间小
恢复效率效率高(上百G建议使用)效率低
适用场景大型业务系统的容灾恢复、系统级全量备份

主备数据库之间的增量数据备份

不同业务系统之间数据同步、

业务不中断升级过程中数据迁移

二 逻辑备份具体操作

mysqldump连接参数

  • -u mysql用户名
  • -p mysql用户密码
  • -S mysql本地socket文件
  • -h 指定主机地址
  • -P 指定mysql端口

使用mysqldump命令进行数据备份_mysqldump备份数据库-CSDN博客

mysqldump备份参数

全量备份:导出所有库、表、数据,转存储为SQL文件  --all--databases, -A 转储所有数据库中的所有表

指定备份库下的多个表

指定哪些数据库,进行备份

备份单个数据表

备份多个表

只备份表结构  --no-data参数

只备份数据

三 锁表

基于会话锁表,防止他们冲突写入数据库

单独锁某个表
mysql> lock table  a.city write;
mysql> unlock tables;

全局读锁,针对普通用户的写入权限
set global read_only=1;
set global read_only=0;

四 二进制binlog日志

作用:将 增删改 SQL语句记录下来(insert、update、delete、create、drop、alter、等关键字)

  1. 记录mysql数据的增量数据,用于增量数据库恢复
  2. 主从数据复制

开启:配置文件中设置

#查看binlog日志
show binary logs;
#模拟binglog日志更新,随便插入数据,查看position变化
show master status;

binlog二进制转为可读性日志(使用mysqlbinlog --base64-output=decode-rows -vv 二进制日志 > x.txt)

./mysqlbinlog --base64-output=decode-rows -vv   /data/mysql/data/atguigu-bin.000263> /tmp/decode-mysql-log.txt

五 拓展

mysql默认使用引擎是innodb,支持事务
开启二进制日志后,每次进行 增删改 操作,都会被计入,其position会变化

参考文档 :
MySQL基于xtrabackup、binlog实现全量备份、增量备份_extrabackup binlog-CSDN博客

使用mysqldump命令进行数据备份_mysqldump备份数据库-CSDN博客

六 多binlog日志恢复数据

模拟题:

1.先创建一个库a,flush logs(生成新的binlog日志)
2.创建一个表b,flush logs
3.插入数据到a.b表,flush logs
4.删除表b

如何恢复表b?
1.先停止binlog记录 :mysql> set sql_log_bin=0;
2.查找对应binlog日志,以及postitons:
mysqlbinlog  --start-position=XX --stop-position=XX mysql-log-bin.000007 日志2 日志3 > /tmp/1.sql 在source恢复
3.查看数据恢复,重新开启binlog记录

七、基于GTID的binlog应用

六中需要我们,眼睛去观察每个事务操作的postion值,比较麻烦,从mysql5.7开始提供了更易于数据恢复的GTID模式。

  1. 通过 GTID 保证了每个在主库上提交的事务在集群中有一个唯一的ID。
  2. 这种方式强化了数据库的主备一致性,故障恢复以及容错能力。
  3. 在原来基于二进制日志的复制中,从库需要告知主库要从哪个偏移量pos值进行增量同步,如果指定错误会造成数据的遗漏,从而造成数据的不一致。

 GTID (Global Transaction IDentifier) 是全局事务标识。它具有全局唯一性,一个事务对应一个GTID。

查看事务:show binlog events in "日志名";

开启(必备参数):

[mysqld]
gtid-mode=ON
enforce-gtid-consistency=true
log-slave-updates=ON
server_id=1

每个事务有一个id,不需要特别麻烦的去看每个事务的postion范围

mysqlbinlog  --skip-gtids  --include-gtids='65c03c38-b158-11ee-915b-000c291d9a97:1-293-294' mysql-log-bin.000263  > /opt/2.sql

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

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

相关文章

java中集合List,Set,Queue,Map

Java SE中的集合框架是一组用于存储和操作对象的类和接口。它提供了丰富的数据结构,可以用于解决各种问题。Java SE中的集合框架包含以下主要类和接口: 一. Collection接口: 是集合框架的根接口,它定义了一些通用的集合操作方法…

【Modelground】个人AI产品MVP迭代平台(4)——Mediapipe视频处理网站介绍

文章目录 介绍模型配置输入输出核心实现(源码)总结 介绍 这篇文章我将硬核介绍Modelground的第一个产品——Mediapipe视频处理!网站入口为https://tryiscool.space/ml-video/,如图所示,欢迎体验。 tip: 由于服务器带宽…

卡尔曼滤波器例子

卡尔曼滤波器 卡尔曼滤波器(Kalman Filter)是一种用于线性系统状态估计的递归算法,可以有效地融合传感器数据和系统模型来估计系统的状态。它在机器人学中广泛应用,尤其是位置和速度等状态的估计。通过卡尔曼滤波器,可以有效地估计机器人在二维平面内的真实位置,并减小测…

《经典图论算法》广度优先搜索

摘要: 1,广度优先搜索介绍 2,广度优先搜索的解题步骤 3,广度优先搜索的代码实现 1,广度优先搜索介绍 广度优先搜索(Breadth-first search,BFS),又称宽度优先搜索,简单的说&#xff0…

把系统引导做到U盘,实现插上U盘才能开机

前言 有个小伙伴提出了这样一个问题:能不能把U盘制作成电脑开机的钥匙? 小白稍微思考了一下,便做了这样一个回复:可以。 至于为什么要思考一下,这样会显得我有认真思考他提出的问题。 Windows7或以上系统均支持UEF…

Flutter项目开发模版,开箱即用

前言 当前案例 Flutter SDK版本:3.22.2 每当我们开始一个新项目,都会 引入常用库、封装工具类,配置环境等等,我参考了一些文档,将这些内容整合、简单修改、二次封装,得到了一个开箱即用的Flutter开发模版…

memory动态内存管理学习之unique_ptr

此头文件是动态内存管理库的一部分。std::unique_ptr 是一种智能指针,它通过指针持有并管理另一对象,并在 unique_ptr 离开作用域时释放该对象。在发生下列两者之一时,用关联的删除器释放对象: 管理它的 unique_ptr 对象被销毁。…

YOLOv8 极简分割代码并输出各类别像素占比

文章目录 前言功能概述必要环境一、代码结构1. 参数定义2. 定义检测器类3. 计算各类别像素占比3.1 遍历每个检测到的目标3.2 获取当前目标的掩码和类别3.3 将掩码转换为整数多边形3.4 创建空白掩码图像并填充多边形3.5 计算掩码像素数3.6 计算掩码多边形的质心3.7 计算像素占比…

发光二极管十大品牌

日常电路设计中,LED是必用的元器件之一,辅助判定电路异常。 十大发光二极管品牌-LED灯珠生产厂家哪家好-LED发光二极管厂家前十-Maigoo品牌榜

Zabbix6.0自定义监控项

文章目录 一、自定义监控整体流程二、自定义监控案例1、监控TCP 443端口案例2、监控服务器异地登入(带参监控项) 一、自定义监控整体流程 操作端流程备注Agent端1️⃣ linux:通过命令、脚本取出对应的值2️⃣ linux:根据zbx要求按照格式、编写配置文件、…

Sui Generis如何为艺术家弥合Web3的鸿沟

Sui Generis是一家于3月推出的NFT拍卖行,其联合创始人兼CEO Gab9说其愿景是——更好、更大、更强! 表面上看,Sui Generis是备受欢迎的Tombheads NFT拍卖行的重新品牌化,该拍卖行今年早些时候从Fantom区块链迁移出来。但它于3月31…

找出链表倒数第k个元素-链表题

LCR 140. 训练计划 II - 力扣(LeetCode) 快慢指针。快指针臂慢指针快cnt个元素到最后; class Solution { public:ListNode* trainingPlan(ListNode* head, int cnt) {struct ListNode* quick head;struct ListNode* slow head;for(int i …

如何学习Golang语言!

第一部分:Go语言概述 起源与设计哲学:Go语言由Robert Griesemer、Rob Pike和Ken Thompson三位Google工程师设计,旨在解决现代编程中的一些常见问题,如编译速度、运行效率和并发编程。主要特点:Go语言的语法简单、编译…

人体部位眼耳手腿分类数据集4376张4类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):4376 分类类别数:4 类别名称:["Ears","Eyes&quo…

计算机组成刷题一轮(包过版)

搭配食用 计算机组成原理一轮-CSDN博客 目录 一、计算机系统概述 选择 计算机系统组成 冯诺依曼机 软件和硬件的功能 CPU等概念 计算机系统的工作原理 机器字长 运行速度 求MIPS 编译程序 机器语言程序 平均CPI和CPU执行时间 综合应用 存储程序原理 二…

System Verilog实现流水灯

文章目录 一 System Verilog1.1 Systemverilog简介1.2 与verilog的区别1.2.1 两态数据类型(1,0)1.2.2 枚举类型和用户自定义类型1.2.3 数组与队列1.2.4 字符串1.2.5 结构体和联合体1.2.6 常量1.2.7 过程语句等等 二 流水灯代码三 实验效果总结参考资料 一…

基于睡眠声音评估睡眠质量

随着健康意识的增强,人们越来越关注睡眠质量。确保获得充足的高质量睡眠对于维持身体健康和心理平衡至关重要。专业的睡眠状态测量主要通过多导睡眠图(PSG)进行。然而,PSG会给受试者带来显著的身体负担,并且在没有专业…

十大人工智能企业

​​​​​​链接:​​​​​​人工智能品牌排行-人工智能十大公司-人工智能十大品牌-Maigoo品牌榜

C# WPF入门学习主线篇(二十一)—— 静态资源和动态资源

C# WPF入门学习主线篇(二十一)—— 静态资源和动态资源 欢迎来到C# WPF入门学习系列的第二十一篇。在上一章中,我们介绍了WPF中的资源和样式。本篇文章将深入探讨静态资源(StaticResource)和动态资源(Dynam…

数据挖掘--认识数据

数据挖掘--引论 数据挖掘--认识数据 数据挖掘--数据预处理 数据挖掘--数据仓库与联机分析处理 数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法 数据挖掘--分类 数据挖掘--聚类分析:基本概念和方法 数据对象与属性类型 属性:是一…