mysql-恢复数据(日志管理)
前言
在mysql中我们有时候会出现误删除,或者其他的问题,我们可以通过mysql的日志进行恢复
操作
我们可以在mysql里面定义一个错误日志,方便我们可以排查是因为什么原因来解决mysql无法启动问题
-------------------------------------------------------------------------------------------------------------------------------
1.错误日志
进入到配置文件
vim /etc/my.cnf
添加或者找到你的错误日志
log_error=/tmp/mysql3306.log 这里的路径是我自己设置的每人的目录有可能不同,具体看自己
重启
systemctl restart mysqld
查看日志 -这里就可以看到你在启动过程中遇到的问题
---------------------------------------------------------------------------------------------------------------------------------
2.二进制日志(binlog)
作用
(1) 主从要依赖二进制日志
(2) 数据恢复时需要依赖于二进制日志
我们在配置文件里面进行添加这个一般没有启动
log_bin=/databinlog/mysql-bin 这个是我在数据库进行了增删改的操作二进制文件就会存放到这里,后面我们就可以通过二进制文件进行恢复
我们可以查看一个用cat命令是查看不到的需要用mysql自己的
查看二进制日志内容
mysqlbinlog mysql-bin.000001 #看语句级日志,不能看行数据
mysqlbinlog --base64-output=decode-rows -vvv mysql-bin.000001 #使用解码的方式,可看行数据
mysqlbinlog -d event mysql-bin.000001 #摘要显示事件号码
这里的 mysql-bin000001是我自己的,每次数据库经过重启或者刷新这个值就会加一
刷新命令 flush log;
截取日志
在恢复数据的途中我们可以选择从哪里恢复到哪里

我们恢复找到#数字开头然后下面找到操作命令的行然后到结束行就可以恢复
命令
1.截取出来保存到/tmp/a.sql目录下
mysqlbinlog --start-position=233 --stop-position=801 mysql-bin.000001 >/tmp/a.sql
这里的意思就是从233行恢复到801行
2.关闭二进制文件记录 set_sql_log_bin=0; (为了避免太多的日志,不关闭会在日志重新疾苦一遍执行日志)
3.把数据导入到mysql source /tmp/a.sql
4.开启二进制文件 set_sql_log_bin=1; --1为开启 0为关闭
----------------------------------------------------------------------------------------------------------------
第二种恢复(GTID)
对于binlog中的每一个事务,都会生成一个GTID号码 -
DDL ,DCL 一个event就是一个事务,就会有一个GTID号.
DML语句来讲,begin到commit,是一个事务,就是一个GTI
查看gtid号
cat /usr/local/mysql/data/auto.cnf
[auto]
server-uuid=e2e9b01e-9687-11eb-b577-000c29b0384b
或者这样也可以查看到

TID是一个:自增长的数据,从1开始
e2e9b01e-9687-11eb-b577-000c29b0384b:1-15
GTID的幂等性
如果拿有GTID的日志去恢复时,检查当前系统中是否有相同GTID号,有相同的就自动跳过
会影响到binlog恢复和主从复制.
GTID的开启和配置
vim /etc/my.cnf
gtid-mode=on
enforce-gtid-consistency=true
基于GTID,binlog恢复
(1) 截取日志mysqlbinlog --include-gtids='3b915642-87b4-11ef-ae7c-000c2937c73c:1-3' mysql-bin.000001 >/tmp/gtid.sql
cd /data/binlog -这里还是上面你的日志存放位置
mysqlbinlog --skip-gtids --include-gtids='820f8917-d358-11ec-b243-000c29cbdce4:1-3' mysql-bin.000001 >/tmp/gtid.sql -这里红的需要看你自己的是多少来修改
--skip-gtids 作用:在导出时,忽略原有的gtid信息,恢复时生成最新的gtid信息
这个日志查看比上面会多一个,大家注意这个为分隔
恢复
set sql_log_bin=0;
source /tmp/gtid.sql
set sql_log_bin=1;
对此大家可以最后加一个整表备份,然后定时测试是否可以正常使用
相关文章:
mysql-恢复数据(日志管理)
前言 在mysql中我们有时候会出现误删除,或者其他的问题,我们可以通过mysql的日志进行恢复 操作 我们可以在mysql里面定义一个错误日志,方便我们可以排查是因为什么原因来解决mysql无法启动问题 ----------------------------------------…...
探索Unity:从游戏引擎到元宇宙体验,聚焦内容创作
unity是实时3D互动内容创作和运营平台,包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、…...
自动化测试类型与持续集成频率的关系
持续集成是敏捷开发的一个重要实践,可是究竟多频繁的集成才算“持续”集成? 一般来说,持续集成有3种常见的集成频率,分别是每分钟集成、每天集成和每迭代集成。项目组应当以怎样的频率进行集成,这取决于测试策略&…...
React 中组件通信的几种主要方式
一、父传子: 1. 传递多个属性 父组件可以通过 props 传递多个属性给子组件。 示例 // 子组件 function Son(props) {return (<div>This is Son, {props.name} - Age: {props.age}</div>); }// 父组件 function App() {const name This is App N…...
mint-ui Picker 显示异常
mint-ui Picker 显示异常 现象 最近一个老项目页面显示异常,使用mint-ui Picker显示异常,直接显示成了 数据对象,而不是具体travelName 字段 组件 mint-ui Picker 使用方式(vue方式) // template <mt-picker :slots"slots" value-key…...
深入理解 MySQL 中的日志类型及其应用场景
目录标题 MySQL 中的日志类型这么多,它们都有哪些作用?1.错误日志(Error Log)2.事务日志2.1 InnoDB Redo Log(重做日志)2.2 InnoDB Undo Log (撤消日志)3.查询日志(General Query Log)4.慢查询日志 (Slow Query Log)5.二进制日志(Binary Log)6.中继日志 (Relay Log)总结一下M…...
群控系统服务端开发模式-应用开发-上传配置功能开发
下面直接进入上传配置功能开发,废话不多说。 一、创建表 1、语句 CREATE TABLE cluster_control.nc_param_upload (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 编号,upload_type tinyint(1) UNSIGNED NOT NULL COMMENT 上传类型 1:本站 2&a…...
stm32——GPIO开发
目录 1、什么是GPIO 2、GPIO的作用 3、GPIO的基本结构 4、GPIO引脚的基本结构 5、GPIO端口模式的配置 1. 输入浮空(Input Floating) 2. 输入上拉(Input Pull-Up) 3. 输入下拉(Input Pull-Down) 4. …...
layui 自定义验证单选框必填
对于输入框类型必填验证,只需要在 input 输入框加入 lay-verify "required" 即可。但对于单选按钮这种特殊的该怎么办呢?layui 为我们提供了自定义验证。 1. 在单选按钮上添加自定义验证的名称 2. 验证规则如下 // 单选框自定义验证form.ve…...
Spring 设计模式之策略模式
Spring 设计模式之策略模式 策略模式构成部分java举例 策略模式 策略模式:允许定义一系列算法,并将每一个算法封装起来,使它们可以互相替换,且算法的变化可以独立于使用它们的客户端。 构成部分 Context(上下文&…...
苹果开发 IOS 证书生成步骤
前提条件 你手上有一台 Macbook你的苹果账号已被添加到开发人员中 证书创建步骤 打开 XCode 直接生成 p12证书生成后,就可在苹果开发者管理界面中看到你的证书记录登录苹果开发中心,创建 profiles 文件,并下载以上步骤即可,就这…...
DDR2 SDRAM(五)初始化
因为DDR2本质上只是更高级的一种SRAM,底层操作原理和SRAM是一样的,所以很多基础的东西就不再赘述了。 一、原理 在初始化之前,DDR2芯片需要先上电,芯片有多个需要提供的电压,其大小和顺序也有要求,这部分…...
Python工具箱系列(五十七)
图像分割与人脸识别 众所周知图像是由若干有意义的像素组成的,图像分割作为计算机视觉的基础,对具有现有目标和较精确边界的图像进行分割,实现在图像像素级别上的分类任务。图像分割可分为语义分割和实例分割两类,区别如下&#x…...
数据智能驱动金融策略优化:民锋智能分析技术的应用
在现代金融市场中,数据分析与智能化技术的结合为投资策略带来了全新机遇。民锋以智能分析技术为核心,帮助投资者在复杂的市场环境中做出高效决策。本文将深入探讨民锋智能分析技术如何驱动策略优化,为投资者带来更加智能化的支持。 #### 一、…...
1009:带余除法
【题目描述】 给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。 【输入】 一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔…...
Jmeter实际应用
环境准备 JDK1.8Jmeter 5.6.3 下载地址Jmeter 插件 下载地址 放到lib/ext下 常用命令 # 启动 sh jmeter# 集群模式下启动节点,不启动用不了集群 sh jmeter-server#生成ssl需要的证书, 这里会要求输入个密码,是要在jmeter中用的 keytool -import -ali…...
C++基础(11.AVL树的实现)
目录 AVL的概念: AVL树的实现: AVL树的结构: AVL树的插⼊: 平衡因⼦更新: 旋转: AVL树的其他功能: AVL树平衡检测: 测试代码*2: 源代码: KV结构: 源代码: AVL…...
c# 抽象方法 虚函数 使用场景
在C#中,抽象方法(abstract method)和虚函数(virtual method)都是用于实现多态性(polymorphism)的重要特性,但它们在使用上有一些关键的区别和各自的用途。 抽象方法(Abs…...
大数据安全方案 验证
一、背景 文档用于记录配置 Kerberos 和 Ranger 后,对 HDFS、Hive 认证和鉴权的功能测试。 二、Kerberos 验证 2.1、验证功能 1,HDFS 认证 2.1.1、访问 HDFS Kerberos 验证前,访问 HDFS 失败。 Kerberos 验证后,访问 HDFS 成…...
电脑软件:推荐一款免费且实用的电脑开关机小工具
目录 一、软件简介 二、软件功能 三、软件特点 四、使用说明 五、软件下载 今天给大家推荐一款免费且实用的电脑开关机小工具KShutdown,有需要的朋友可以下载试一下! 一、软件简介 KShutdown是一款精巧且实用的定时自动关机小工具,对于…...
配置MyBatis-Plus打印执行的 SQL 语句到控制台或日志文件中
配置MyBatis-Plus打印 1. 使用 log4j 或 logback 配置 MyBatis-Plus 支持多种日志框架,如 SLF4J, Commons Logging, Log4J, Log4J2 和 JDK logging。这里以 Logback 为例说明如何配置。 在你的 logback.xml 文件中添加如下配置: <configuration>&l…...
TP4056充电板实战避坑指南:从LED状态误判到TEMP脚悬空,新手最容易踩的5个坑
TP4056充电板实战避坑指南:从LED状态误判到TEMP脚悬空,新手最容易踩的5个坑 第一次使用TP4056充电板时,我盯着闪烁的LED灯陷入了困惑——为什么充满电后红灯还亮着?为什么电池发热异常?这些问题让我意识到,…...
向量化计算落地难?揭秘阿里/腾讯内部正在用的7个Java Vector API高危避坑场景
第一章:Java Vector API向量化计算落地的现实困境Java Vector API(JEP 338、414、426、448)虽在JDK 16起逐步成熟,但实际工程化部署仍面临多重结构性约束。其核心矛盾在于:API设计高度抽象,而底层硬件适配、…...
LCC-S无线电能传输的Pi移相控制与SS结构效果显著
LCC-S无线电能传输pi移相控制输出电压,效果很棒 SS结构,与其他低阶高阶拓扑也可以做 SS拓扑最近在捣鼓无线电能传输系统时,意外发现LCC-S拓扑搭配π型移相控制,输出效果堪比美颜相机里的磨皮功能。这货不仅能把输出电压纹波压得比…...
2026年4月怎么搭建OpenClaw?腾讯云小白1分钟部署及百炼APIKey配置步骤
2026年4月怎么搭建OpenClaw?腾讯云小白1分钟部署及百炼APIKey配置步骤。OpenClaw(原Clawdbot)作为2026年主流的AI自动化助理平台,可通过阿里云轻量服务器实现724小时稳定运行,并快速接入钉钉,让AI在企业群聊…...
5个维度解析UEFITOOL:BIOS固件分析与修改的全能工具
5个维度解析UEFITOOL:BIOS固件分析与修改的全能工具 【免费下载链接】UEFITOOL28 项目地址: https://gitcode.com/gh_mirrors/ue/UEFITOOL28 UEFITOOL是一款专注于UEFI BIOS固件解析的开源工具,它能够帮助技术人员深入分析固件内部结构、提取关键…...
低成本低功耗认证芯片推荐——LCS4110R
LCS4110R是以32位安全CPU内核为基础的高性价比安全芯片,符合EAL4安全等级设计要求,自带DES/TDES硬件协处理器。LCS4110R芯片是业内拥有自主设计的产品,集成内部文件系统,支持LKCOS系统,自主可控,供货稳定。…...
三极管信号滤波原理与工程实践
1. 三极管在信号滤波中的独特应用作为一名嵌入式硬件工程师,我经常需要处理各种传感器信号。最近在无刷电机驱动项目中,遇到了霍尔信号毛刺干扰的问题。传统教科书上总是强调三极管的放大作用,但实际工程中,我发现三极管在信号滤波…...
群晖更换RAID类型无需重建服务,保持Volume磁盘盘符不变
我的环境:DSM型号:DS3617xs(黑群晖)系统版本:DSM 7.1.1-42962 Update 6硬盘数据库更新时间:2026-01-23更改前磁盘序号(btrfs):Raid1(volume1)&…...
STM32F407ZGT6最小系统:从原理图到PCB的实战设计解析
1. STM32F407ZGT6最小系统设计入门 第一次接触STM32F407ZGT6最小系统设计时,我也被各种专业术语和复杂的电路图搞得晕头转向。但经过几个项目的实战后,我发现只要掌握几个关键模块,设计一个稳定可靠的最小系统其实并不难。STM32F407ZGT6是STM…...
