mysql数据库(表)误删恢复

mysql数据库(表)误删恢复

1. 检查mysql服务是否开启binlog

# 查看是否开启binlog日志
show variables like '%log_bin%';

看下图结果.如果这里是OFF那就不用看下去了.本文帮助不了
在这里插入图片描述

2.开启binlog日志(已开启略过)

1、编辑打开mysql配置文件 ***/my.cnf在

[mysqld]区块添加

log-bin=mysql-bin(也可指定二进制日志生成的路径,如:log-bin=/opt/Data/mysql-bin)
    server-id=1

binlog_format=MIXED(加入此参数才能记录到insert语句)

3.查看binlog日志记录位置

# 查看日志记录位置
show variables like '%datadir%';

直接去结果里面就能

4.常用binlog查询方式

# 查看所有日志文件
show master logs;
# 查看日志状态
show master status;
# 查看指定日志的事件(xxx自行替换到自己的文件名)
show binlog events in 'xxx-bin.0000xx';

5.备份当前数据库

整个库都删了当我没说.直接开始后面操作.如果只是删除了当前表.就先备份当前数据库.其实没啥用.但是咧.就怕手残再有失误,不手残就不会误删表,有备份就TM直接还原了也看不到这…-_-!
反正有备份就在开始下面操作.

6.操作binlog

1.先去上面第三点说的日志文件存放位置找到目录.
2.然后找到xxx-bin.0000xx这类文件
3.不要这么死板找固定名字.理论上这个文件多数人都不一样.然后就是看日期.
4.每次mysql服务重启都会截断日志.重新生成一个新的.找到最后更新日期那个就没错了

# 截断当前日志,后续日志生成一个新的编号binlog文件
flush log
1. 查看binlog日志

binlog文件是二进制的.无法直接打开.什么vim.txt.notepad.啥啥啥都不行.不要浪费功夫找工具尝试打开这种文件.

  1. 直接去找到mysqlbinlog.exe (一般都在mysql的安装目录.找不到全局搜就行了.)
  2. 找到之后命令行去到当前目录,mysqlbinlog.exe D:/mysql/WMANG-bin.000020 (window就.exe.linux就不带)
  3. 这种查看日志少的话还好.多的话直接刷屏.不要等刷完直接ctrl+c了.能看部分.其实看了意义也不大…
  4. 推荐sql直接查
# a、IN 'log_name':指定要查询的binlog文件名(不指定就是第一个binlog文件)
# b、FROM pos:指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)
# c、LIMIT【offset】:偏移量(不指定就是0)
# d、row_count :查询总条数(不指定就是所有行)
show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];# 查看当前日志的所有事件以及pos
show binlog events in 'xxx-bin.00000xxx';

7 开始恢复数据

可以先把xxx-bin.00000xxx 拷贝到自己的目录去操作.

1. 根据时间恢复(简单粗暴)

估算误操作的事件.实在不记得可以给个大概.数据要求高的就用后面定位的方法

# 运行日志恢复.从2018-11-12 09:00:00开始到2023-12-5 17:00:00 结束事件.开始时间不知道给个比较靠前的就行.反正你当前的文件肯定不会早于这个时间,database指定要操作的数据库.否则会操作所有数据库.mysql后面就是常规登录信息
mysqlbinlog.exe  --start-datetime="2018-11-12 09:00:00" --stop-datetime="2023-12-5 17:00:00" D:/mysql/xxx-bin.00000xxx  --skip-gtids=true --database=mom_ls_test | mysql -uroot -S D:/mysql/logs/mysql.sock -p123456 -v
2. 根据事件定位恢复(简单粗暴)

估算误操作的事件.实在不记得可以给个大概.数据要求高的就用后面定位的方法

# 运行日志恢复.从当前日志位置号0开始,执行到343299346位号.database指定要操作的数据库.否则会操作所有数据库.mysql后面就是常规登录信息
mysqlbinlog.exe  --start-position="0" --stop-position="343299346" D:/mysql/xxx-bin.00000xxx  --skip-gtids=true --database=mom_ls_test | mysql -uroot -S D:/mysql/logs/mysql.sock -p123456 -v

需要注意的是.此期间的过程需要包含你插入数据的日志.如果没有.只能往前推.按xxx-bin.00000xxx 后几位是顺序号.找到之前的文件.从起点开始操作,如果你时间跨度很长,那就有的搞了.

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

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

相关文章

第五届CECC中国计算机教育大会召开,文心大模型助力跨学科创新融合

随着科技的飞速发展,大模型已经成为教育、科研等领域的热点话题。12月2日至3日,以“新时代 新计算 新理念”为主题的第五届中国计算机教育大会(CECC)在厦门召开,百度飞桨和文心大模型承办的“大模型技术创新与教育实践…

婴儿专用洗衣机有必要吗?宝宝洗衣机洗衣服

相信各位宝爸宝妈都有同样的苦恼,那就是宝宝的衣服该怎么来洗宝宝每天都有一大堆衣物和各种巾要洗,如果单纯用手洗,真的是一个很大的工程,将宝宝的衣服丢进去家庭用的洗衣机,宝宝稚嫩的皮肤又怕会被细jun感染到&#x…

【harmonyOS开发】健康生活应用

一、业务需求 用户可以创建最多6个健康生活任务(早起,喝水,吃苹果,每日微笑,刷牙,早睡),并设置任务目标、是否开启提醒、提醒时间、每周任务频率。用户可以在主页面对设置的健康生活…

智能优化算法应用:基于梯度算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于梯度算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于梯度算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.梯度算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Qt/C++视频监控拉流显示/各种rtsp/rtmp/http视频流/摄像头采集/视频监控回放/录像存储

一、前言 本视频播放组件陆陆续续写了6年多,一直在持续更新迭代,视频监控行业客户端软件开发首要需求就是拉流显示,比如给定一个rtsp视频流地址,你需要在软件上显示实时画面,其次就是录像保存,再次就是一些…

gcc编译流程概述

前言 本篇文章介绍gcc编译器编译C文件的流程概述 比如我们创建了一个.c文件hello_gcc.c #include <stdio.h> int main() {printf("Hello gcc!!!\n");return 0; }最简单的方式就是在终端使用命令 gcc hello_gcc.c -o hello_gcc // 编译、汇编、链接 ./hello_…

金山终端安全系统V9.0 update_software_info_v2.php处SQL注入漏洞复现 [附POC]

文章目录 金山终端安全系统V9.0 update_software_info_v2.php处SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议参考链接&#xff1a; 金山终端安全系统V9.0 update_software_info_v2.php处…

WT2605C蓝牙音频语音芯片:具备大功率IO驱动能力,引领音频技术新纪元

在当今的电子科技时代&#xff0c;功率强大的IO驱动能力成为音频设备性能的重要指标。近日&#xff0c;一款名为WT2605C的蓝牙音频语音芯片&#xff0c;以其最高可直接驱动64mA的大功率IO驱动能力&#xff0c;引起业界的广泛关注。这款芯片的出现&#xff0c;无疑将为音频设备的…

Java Stream API 提供了一种非常方便的方式来比较两个 List 的差异,并取出不同的对象

Java Stream API 提供了一种非常方便的方式来比较两个 List 的差异&#xff0c;并取出不同的对象。这可以通过使用 distinct() 和 filter() 方法来实现。 假设我们有两个 List&#xff0c;一个是 list1&#xff0c;另一个是 list2&#xff0c;我们想找出 list1 中存在但 list2…

Nacos服务分级存储模型

一、Nacos服务分级存储模型 &#xff08;1&#xff09;模型介绍 &#xff08;2&#xff09;服务跨集群调用问题 服务调用尽可能选择本地集群的服务&#xff0c;跨集群调用延迟较高 本地集群不可访问时&#xff0c;再去访问其它集群 二、如何设置实例的集群属性 &#xff08;1&…

Python高级数据结构——线段树(Segment Tree)

Python中的线段树&#xff08;Segment Tree&#xff09;&#xff1a;高级数据结构解析 线段树是一种专用于处理区间查询的数据结构&#xff0c;在解决范围内的查询和更新操作时具有高效性能。在本文中&#xff0c;我们将深入讲解Python中的线段树&#xff0c;包括线段树的基本…

2023.2版idea安装教程,现在jdk8已经过去式了,不同idea支持的jdk不同。升级jdk后idea也要随之升级

下载idea2023.2版本&#xff0c;下载之前需要删除之前的版本&#xff0c;一定要删除干净&#xff0c;删除程序要勾选那两个delete 下载路径&#xff1a;其他版本 - IntelliJ IDEA (jetbrains.com.cn) 选择2023.2版本 下载后进入安装程序&#xff0c;选择安装目录&#xff0c;然…

java实验:数据库应用(idea+mysql+php)设计用户注册和登录

设计用户注册和登录界面&#xff0c;实现用户注册和登录操作。 设计用户注册/登录界面;使用工具在MySQL中创建user表&#xff0c;包括学号、姓名、密码、专业、班级&#xff1b;实现注册操作&#xff1a;在user表中插入一条新纪录&#xff0c;但学号不能重复&#xff1b;实现登…

uniapp使用vue-i18n国际化多国语言

前言&#xff1a;uniapp是自带有i18n这个插件的&#xff0c;如果没有npm安装即可 此插件需要自己去给每一个需要国际化的字符去手动配置key&#xff0c;所以如果是已经完成的项目可能工作量就稍微有点大了 第一步&#xff1a; 语言命名是有规范的不能乱取名&#xff0c;具体可…

电容电感特性的理解

04730电子技术基础 语雀 在前面&#xff0c;我们提到过电容元件具有隔直通交&#xff0c;通高阻低的特性&#xff0c;电感元件具有隔交通直&#xff0c;通低阻高的特性。那么如何理解这两句话呢&#xff1f;下面我们一一剖析 电容元件的隔直通交&#xff0c;通高阻低的特性 …

MySQL五 | 事务

目录 事务操作 查看/设置事务提交方式 方式一 提交事务 回滚事务 方式二 开启事务 提交事务 回滚事务 事务四大特性(ACID) 事务的隔离级别 查看事务的隔离级别 设置事务隔离级别 事务操作 是一组操作的集合&#xff0c;是一个不可分割的工作单位&#xff0c;会把所…

【C】递归函数

一、什么是递归 递归其实是⼀种解决问题的⽅法&#xff0c;在C语⾔中&#xff0c;递归就是函数⾃⼰调⽤⾃⼰。 我们先了解一个知识&#xff1a; 每一次函数调用&#xff0c;都会向内存栈区上申请一块空间。 这块空间主要用来存放函数中的局部变量&#xff0c;和函数调用过程中…

点滴生活记录1

2023/10/10 今天骑小电驴上班&#xff0c;带着小鸭子一起。路上的时候&#xff0c;我给小鸭子说&#xff0c;你要帮我看着点路&#xff0c;有危险的时候提醒我&#xff0c;也就刚说完没几分钟&#xff0c;一个没注意&#xff0c;直接撞到一个拦路铁墩子上&#xff0c;车子连人歪…

《亲密关系》阅读笔记

前言 仅记录学习笔记&#xff0c;如有错误欢迎指正。 感受&#xff1a; 看完才发现&#xff0c;引用竟然占了大概10分之一的厚度> < ! 这本书更多是实验&#xff0c;数据来支撑观点的&#xff0c;还鄙夷了《男人来自火星&#xff0c;女人来自金星》这本书&#xff0c;说…

12、组合模式(Composite Pattern,不常用)

组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;有时又叫作部分-整体模式&#xff0c;它是一种将对象组合成树状的层次结构的模式&#xff0c;用来表示“部分-整体”的关系&#xff0c;使用户对单个对象和组合对象具有一致的访问性。 它在我们树型结构的问题中…