宝塔误删mysql数据如何恢复?(救命题)

2023-10-27

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

mysql二进制日志恢复

(有很多朋友私信求帮助恢复数据库,可以加微信备注添加原因,如果能帮助解决问题,给点辛苦费就行(●'◡'●))

有一个朋友,在工作中,复制网上的代码,错误的把"delete from table"当成了 "select from table",结果删除了大量数据表内容。

那么如何避免被项目经理杀了祭天呢?

宝塔面板的mysql自动开启了binlog功能~ 也就是说我们可以直接通过binlog方式恢复宝塔误删的数据。

1、检查mysqlbinlog日志功能,图中返回 NO代表开启,OFF代表未开启

    mysql> show variables like 'log_%'; 
    +----------------------------------------+---------------------------------------+
    | Variable_name                          | Value                                 |
    +----------------------------------------+---------------------------------------+
    | log_bin                                | ON                                    | ------> ON表示已经开启binlog日志
    | log_bin_basename                       | /usr/local/mysql/data/mysql-bin       |
    | log_bin_index                          | /usr/local/mysql/data/mysql-bin.index |
    | log_bin_trust_function_creators        | OFF                                   |
    | log_bin_use_v1_row_events              | OFF                                   |
    | log_error                              | /usr/local/mysql/data/martin.err      |
    | log_output                             | FILE                                  |
    | log_queries_not_using_indexes          | OFF                                   |
    | log_slave_updates                      | OFF                                   |
    | log_slow_admin_statements              | OFF                                   |
    | log_slow_slave_statements              | OFF                                   |
    | log_throttle_queries_not_using_indexes | 0                                     |
    | log_warnings                           | 1                                     |
    +----------------------------------------+---------------------------------------+

2、找到宝塔面板的/www/server/data文件夹,找到mysql-bin.xxxxx之类的文件

因为网站本身有定时备份,时间在2022/04/12,数据删除时间在2022/04/22 下午17点。

丢失了10天的数据,找回命令

3、在宝塔终端或者ssh中root权限下,使用命令:

/www/server/mysql/bin/mysqlbinlog --start-datetime="2022-04-12 01:30:01" --stop-datetime="2022-04-22 18:30:01" /www/server/data/mysql-bin.00* > redata.sql

如果你的网站没有数据备份可以不写开始时间,只写结束时间
 

/www/server/mysql/bin/mysqlbinlog --stop-datetime="2022-04-22 18:30:01" /www/server/data/mysql-bin.00* > redata.sql

运行上面的命令后进入root目录下查看是否出现了redata.sql文件,该文件大小应该远大于删掉的数据库大小,假如没有生成该文件或者该文件过小,那么尝试下面这条命令(博主用了没成功,不知原因)

/www/server/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v -d 数据库名 /www/server/data/mysql-bin.0000* > redata.sql

这条命令不再设置时间点,而是完全按照文件恢复,数据库名换成删掉的数据库名,假如不记得了,去网站文件config或者其他数据库配置文件查看,宝塔默认数据库和网站文件夹同名,点换成下横线。

运行该命令后进入root目录下查看是否出现了redata.sql文件。

4、假如有了redate.sql文件,在数据库中新建数据库,数据库名最好和删掉的数据库同名,然后执行下面的命令:

mysql -uroot -p -f 新建数据库名 < redata.sql

如果不成功,使用编辑器打开redata.sql,因为文件较大,使用vscode在处理时容易崩溃,建议使用sublime对大文件编辑处理更友好。

5、将insert命令全部复制到一个新的insert.sql文件中

 快捷键ctrl+l,选中当前行,复制到insert.sql中,仔细对比新添加的数据是否正确。

同样的办法将update和delete命令分别复制到update.sql和delete.sql中。

6、将复制出的三个sql文件导入本地数据库,检查是否是错误删除的数据。

注意在命令后加分号 ;

检查数据正确后传到线上版本。

如果数据恢复了请给这篇博客点个赞或者点个关注

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

宝塔误删mysql数据如何恢复?(救命题) 的相关文章

随机推荐

  • 数据链路层简介

    1 数据链路层的基本概念 数据链路层在物理层提供服务的基础上向网络层提供服务 其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层 其主要作用是加强物理层传输原始比特流的功能 将物理层提供的可能出错的物理连接改造成为逻辑上
  • Python 保存数据的方法(4种方法)

    Python 保存数据的方法 open函数保存 使用with open 新建对象 写入数据 这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子 import requests from lxml import etree 发送Request
  • 无线连接打印服务器,如何用旧电脑架设无线网络打印服务器

    如何用旧电脑架设无线网络打印服务器 由会员分享 可在线阅读 更多相关 如何用旧电脑架设无线网络打印服务器 4页珍藏版 请在人人文库网上搜索 1 如何用旧电脑架设无线网络打印服务器在工作中 单位需要打印的文件还是不少的 可是笔记本电脑连接一个
  • input框限输入数字并保留两位小数

    先把非数字的都替换掉 除了数字和 obj value obj value replace d g 保证只有出现一个 而没有多个 obj value obj value replace 2 g 必须保证第一个为数字而不是 obj value
  • iOS上架及ipa包上传到AppStore

    概述 由于苹果的机制 在非越狱机器上安装应用必须通过官方的Appstore 开发者开发好应用后上传Appstore 也需要通过审核等环节 AppCan作为一个跨主流平台的一个开发平台 也对ipa包上传Appstore作了支持 本文从三个流程
  • 通过canvas实现将html的某些元素转为png图片

    有时候我们需要把html或者某些html元素转换为图片 并且支持下载 下面是学习之后的总结 希望能给大家带来帮助 所需插件库 html2canvas js canvas2image js base64 js 资源地址 链接 https pa
  • 蛇形矩阵(完全)

    画 n阶蛇形方阵 比如如图是5阶方阵 5条对角线 1 2 6 7 15 3 5 8 14 16 4 9 13 17 22 10 12 18 21 23 11 19 20 24 25 解题思路 1 分为上三角和下三角 上三角的思路是同蛇形矩阵
  • 训练自己的ai模型(一)学习笔记与项目实操

    ai模型大火 作为普通人 我也想做个自己的ai模型 训练自己的ai模型通常需要接下来的的六步 一 收集和准备数据集 需要收集和准备一个数据集 其中包含想要训练模型的数据 这可能需要一些数据清理和预处理 以确保数据集的质量和一致性 二 选择和
  • clash设置代理后内网访问慢及访问不到问题

    配置忽略代理的ip及域名即可 在 config clash文件夹下新建 proxyIgnoreList plist文件 如果不知道 config clash在哪的 可以通过打开本地文件夹来定位 然后在新创建的文件内写入要忽略代理的域名及ip
  • 链表与节点

    链表 java中通过 node next 表示 node的下一个节点 同理 node next next 表示 node后的第二个节点 通过链表这种数据结构 可以实现许多奇妙的组合 这里我通过接口的方式 把重要的方法进行了封装 虽然只有三个
  • 逆流而上——泛谈对二进制可执行程序的静态反编译

    欢迎对本blog相关主题感兴趣的团体或单位转载相关文章 但转载时请注明出处 谢谢 一 概述 首先应该声明的是 这里讨论的反编译是针对二进制可执行程序进行的静态反向编译操作 虽然对于类似Java Bytecode和MSIL的虚拟机中间代码的反
  • 【layui】 灵活使用弹出层iframe 让你的父界面代码更加清晰

    第一次使用layui框架时候 layer open 使用了最最累赘的 静态布局div 在写入content中不但让你的代码逻辑很乱 而且不利于开发 所以整理一款 弹出层js 是在开发中必不可少的 在此感谢 X admin2 0 提供的源码
  • python实现次梯度(subgradient)和近端梯度下降法 (proximal gradient descent)方法求解L1正则化

    l1范数最小化 考虑函数 显然其在零点不可微 其对应的的次微分为 注意 的取值为一个区间 两个重要定理 1 一个凸函数 当且仅当 为全局最小值 即 为最小值点 2 为函数 不一定是凸函数 的最小值点 当且仅当在该点可次微分且 考虑最简单的一
  • scrapy爬取王者官网壁纸

    1 安装scrapy pip install scrapy pip install Pillow 2 创建项目 scrapy startproject wangzhe cd wangzhe scrapy genspider wz xxx 3
  • 蓝牙定位技术原理--蓝牙人员定位--蓝牙定位--新导智能

    众所周知 蓝牙通讯技能被广泛用于手的机 智能家居 智能穿戴等通讯中 随着物联网生态链逐渐走向成熟 对定位的需求也大大增加 这给蓝牙在该范畴又发明了一番宽广的六合 接下来首要剖析一下蓝牙定位技能的作业原理与首要使用场景 一 蓝牙人员定位原理
  • K8S master高可用,多master节点 (keepalived + haproxy)案例

    说明 Apiserver是用户和 kubernetes 集群交互的入口 封装了核心对象的增删改查操作 提供了 RESTFul 风格的 API 接口 通过etcd来实现持久化并维护对象的一致性 所以在整个K8S集群中 Apiserver服务至
  • Python实战项目(一)网页虚拟访问程序

    作者 尘世镜花恋 声明 本文章纯属个人学习所作 切勿用于非法渠道 转载请注明原文链接 有一些网站 对于本机用户自身的访问也计入访问量内 所以我们可以利用这一点利用自己的电脑提高自己网页的访问量 这里仅介绍用本机ip访问 首先导入reques
  • 小白_Unity引擎_详细Camera以及代码设置

    Cemera摄像机 Unity主要核心组件之一 显示场景中 摄像机照射部分 是向玩家捕获和显示世界的设备 1 ClearFlags 清除标记 显示背景内容 默认为天空盒子 代码设置 m Camera GetComponent
  • PHP的AES加密,模式为“AES/CBC/PKCS5Padding“,含解密

    加密需要php5版本 php7方法已弃用 AES加密请求数据 加密通过AES加密请求数据 param array query return string public function enAES key input size mcrypt
  • 宝塔误删mysql数据如何恢复?(救命题)

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 mysql二进制日志恢复 有很多朋友私信求帮助恢复数据库 可以加微信备注添加原因 如果能帮助解决问题 给点辛苦费就行 有一个朋友 在工作中 复