今天把自己的一个服务器的数据 误操作删除了一个重要的数据表,心想,嗯,真特么的想扇自己个耳光,哈哈哈

好,事不宜迟,进入正文

事情是这样的。我执行了TRUNCATE操作,导致表清空了,那么静下心来想

所有线上服务器,数据库一定要每天凌晨定一个时间段进行备份,不然后果真的会很严重

好了,正文继续

1.先查找binlog

命令行输入

mysql -uroot -p

进入mysql命令行后输入

show master status

这里能看到有一个binlog文件了,那么我们下面接下来的操作都是跟这个文件有关的,但是这个作为原始文件,不能执行,因为线上服务器随时都会产生新数据,会改变binlog文件,所以我们应该copy一份出来  那么不知道这个文件在哪里怎么办呢?这时候find命令就非常有用了,这时候就不要在mysql命令行里操作了

find / -type f -name mysql-bin.000005

2.备份binlog文件,以便恢复数据操作使用

这样我们就能找到我们这个log文件的位置 然后我们复制一份到根目录下,方便后续操作

cp /www/server/data/mysql-bin.000005 ~/

根据自己的路径操作就好,然后我们就得到这个备份的文件了

这里插一个自己的小插曲,之前是想直接操作binlog文件,把错误节点的那句  TRUNCATE语句删除,然后重新导入这份binlog去恢复的,但是发现这个问题

就提示第一行的问题,这个很明显是提示我编码格式的问题,然后前前后后折腾了1个小时去尝试解决这个问题,发现都没用,后来想我可以使用binlog命令导出一份sql文件去操作,应该就能解决,所以我的第三部是

3.binlog文件导出成一份sql文件

mysqlbinlog /www/server/mysql/mysql-bin.000005 > ~/005.sql

通过这个命令导出一份sql文件到根目录,这时候我们回到mysql命令行,输入

show binlog events\G

这时候就能看到我们最后操作的节点了然后打开刚刚导出的005.sql文件我们把27722后面的操作都删除掉,重新保存一下

4.恢复数据到数据库

最好是建立一个新的数据库来恢复备份的数据,然后新库跟旧库做一个同步,以免新数据被覆盖,但是这是因为这是我自己的服务器,我是关闭了网站操作的,所以数据都是比较固定,不怕出问题,接下来进入mysql命令行  输入

source ~/005.sql

然后一堆神奇的sql代码过后,在查看数据库 发现,咦!数据回来了!

数据库恢复数据是万不得已的操作,所以每次删数据清空数据库的时候最好都是先备份一份再操作,还有一定每天都要备份一份数据库数据,以免造成不必要的损失

最后写这份博客更多的是提醒自己不要再误操作,不备份数据库了

记一次Linux服务器 误删数据的恢复操作相关推荐

  1. linux如何查看丢弃数据包,导致Linux服务器丢弃数据包?

    我们使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题,本文就一次Linux服务器丢包故障的处 ...

  2. 024-一次心惊肉跳的服务器误删文件的恢复过程

    2019独角兽企业重金招聘Python工程师标准>>> 一次心惊肉跳的服务器误删文件的恢复过程 来源:zhouyu 链接:www.cnblogs.com/zhouyu629/p/37 ...

  3. 硬盘分区误删数据如何恢复呢?

    办公中,每天都会使用到电脑,而电脑硬盘存储着我们制作而成的各种数据文件.当然为了更方便的对文件进行管理和分类,不少小伙伴们会把硬盘分成不同的磁盘.但硬盘分区时,难免误删或丢失了一些重要文件.在这种情况 ...

  4. linux文件被覆盖如何恢复_在Linux下误删文件后恢复

    1.给虚拟主机添加一块磁盘,磁盘为/dev/sdb,如下: 2.格式化磁盘,并进行挂载 # mkfs.ext4 /dev/sdb # mkdir /usr/local/dbdata/ # mount ...

  5. Linux中误删文件的恢复方法

    Linux中误删文件的恢复方法 做为Linux的从业者大家对"rm -rf"这个命令肯定又爱又恨. 他的简洁霸气,势不可挡,可谓"十步杀一人,千里不留行", 他 ...

  6. SQL Server 2014 数据库误删数据的恢复处理

    一.序言 作为程序开发人员或 DBA,经常会接触到数据库(以 SQL Server 2014 数据库为例)的增.删.改查操作.执行 delete 语句时不小心误删数据表的记录情况,而数据库之前又没有任 ...

  7. 解决重启Linux服务器后数据消失问题

    目录 一.挂载 1.重新挂载 2.数据消失的原因 二.重启服务器 1.shutdown 2.其它关机重启指令 参考自 一.挂载 1.重新挂载 使用 reboot 命令重启服务器后,服务器内挂载的文件全 ...

  8. linux 服务器之间数据复制—scp

    文章目录 一.命令详情介绍 二.使用实例 三.批量文件传输 另一个方法 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝 ...

  9. linux查询MySQL数据库操作,Linux服务器上查看mysql数据库操作日志

    前两天客户打电话跟我讲,系统中有条订单数据丢失了,这让我很诧异.好好的数据怎么说丢,就丢了.此事必有蹊跷,于是今天我要一探究竟,看看数据是否录入数据库中去了.经过之前初步的排查,发现数据应该是被人为删 ...

最新文章

  1. labview叠加白噪声_强化学习中Ornstein-Uhlenbeck噪声是鸡肋吗?
  2. Dubbo之——将Dubbo服务打包成Jar包
  3. vhdl变量赋初值_5.5 C++自动变量
  4. 二分查找(对半搜索)
  5. boot loader能全部用C程序编写吗
  6. 加载中_GIS地图在项目中的加载显示
  7. Sandy引擎学习笔记:摄影机
  8. 锡安赞歌 mp3下载
  9. 你可能对电灯泡一无所知
  10. 如何从io.Reader 中读数据
  11. cookie中JSESSIONID的由来
  12. java中html的树状_HTML中的树状选择
  13. 调试一个开源的车牌识别算法遇到的总结
  14. EXCEL VBA 二维表转换成一维表
  15. shopex php5.3,shopex.4.85支持php5.3 | 学步园
  16. tensorflow模型量化篇(1)量化方法及动态范围量化
  17. win11 删除系统自带输入法
  18. 链游StarSharks(星鲨)全方位介绍
  19. [MATLAB]从键盘输入一个带有字母构成的字符串,要求大写变小写,小写变大写输出。
  20. 故障电弧检测技术现状及难点

热门文章

  1. php电商订单模块设计,电商后台订单管理模块
  2. 光量子计算机的功能,什么是光计算机和量子计算机?
  3. 失去池子的笑果文化越来越不好笑了
  4. 【BDTC 2017】最后两天!BDTC大会抢票倒计时!
  5. 韩版机泛泰A850framework去除漫游、本地化
  6. OpenCV基础(7)OpenCV中的颜色空间
  7. linux+目录+配额,Linux磁盘配额管理
  8. 前端面试题型汇总(适合应届/社招1年水平)
  9. VIVADO 自定义封装ip核(超详细)
  10. 关于C语言二级机考软件环境的一些问题