前言 相信每一个学IT的人或多或少都听说过从删库到跑路这个梗~下图也是在各种交流群屡禁不止,新人听着也是瑟瑟发抖. 人们茶余饭后,街头巷角难免要问... 下面技术流ken就教给各位新手们一招删库再也不用跑路的绝技~ 实现原理 想要学会这个技能务必先要看我的这篇有关mysql日志的博客<MySQL系列详解三:MySQL中各类日志详解-技术流ken>. 一定要先了解二进制日志文件的作用 二进制日志记录了对数据库执行更改的所有操作,但是不包括 select 和 show 这类操作,因为这类操作对数据…
1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与恢复显得尤为重要. 本文将对此次内网数据恢复过程做一些整理,介绍删库后的抢救方案. 同时,引发对数据库稳定性的思考. 2.数据抢修 这份内网数据事先没有特意备份,所以一开始认为需要从磁盘恢复数据了.所以紧急联系了数据恢复公司,希望过来恢复磁盘数据. 这里需要注意,数据恢复公司建议马上关机,避免磁盘数…
我一直在想,地球上这么多程序员,应该有很多人在团队做项目的时候,出过很大的错误,比如说不小心删了库,活动福利字段多写了个零导致全服务器玩家领到数倍奖励,听了沙雕群友的话执行rm -rf命令. 记得有一本专门调侃的书,叫<Mysql从入门到删库跑路>,各种能人异士. 所以掌握如何在数据库被删之后进行恢复,是很重要的. MySQL删除数据有很多种方式,你可以删除一条数据,可以删除一张表,也可以删除一整个库,还有就是你在rm -rf删除磁盘的时候直接把MySQL相关的所有文件都给删了. 删除行 如果…
在前面,我们了解了mysql binlog日志的作用以及使用方法:  http://www.php20.cn/article/237 在后面讲到了,可以通过binlog进行恢复数据,那么,具体步骤是怎么样的呢? 数据库备份 数据库恢复的先决条件是,定时备份数据库,缩小binlog恢复范围.首先我们备份测试数据库数据: 1 mysqldump -uroot -p --database test > testBackSql.sql 假定它为最后一次备份数据. test数据库,test数据表最后一个i…
导读 我一直都主张,技多不压身(没有学不会的技术,只有不学习的人),多学一项技能,未来就少求人一次.网上经常听到xxx删库跑路,万一真的遇到了,相信通过今天的学习,也能将数据再恢复回来~~~ 当然啦,备份数据/还原数据也是挺重要的,可以看我另一篇:点我直达 如果感觉这样还不安全,可以考虑授予用户权限:点我直达 介绍 记录着mysql数据库中的一些增删改操作(没有查询) 功能 数据复制(主从复制) 数据恢复 注意事项 开启二进制日志会有性能的消耗!!! 查看二进制日志是否开启 查看是否开启:sho…
1. 引言 使用数据库的时候,我们每个操作都十分小心,尤其是不能直接在数据库上执行 update.delete 等操作,否则万一忘记加全 where 条件,可能就会造成无法挽回的结果. 有一句十分流行的调侃 – "从删库到跑路"就很形象的说明了误操作后的结果,那么如果你真的不小心执行了删库操作,真的就无法挽回了吗? 当然不会了,通常对于线上数据库,我们都会定时冷备,dump 导出数据库的全量备份,并且保留一段时间内的所有修改日志,进而实现在必要时回滚到这段时间内的任何一秒. 这里提到的…
前几天同事不小心误操作,将SQLServer库的一张表的一个状态字段给刷成了一个统一状态,由于是update执行所以原来的相关状态无法确定.发生这种事情的时候我的小伙伴背后 一凉,估计心里里面想这怕是要删库跑路了. 由于是在开发试运行中的项目,还没来得及进行备份处理,所以从备份恢复宣告失败.就算有备份那么恢复的也是备份时间节点的数据,意味着使用平台做的数据需要从备份时间重新做过,而且有可能有遗漏. 小伙伴问我这咋办,首先没有备份,那么只有从数据库日志查找,然后看能不能通过日志找回之前的数据,再还…
写在前面 前面的章节 详解Linux文档属性.拥有者.群组.权限.差异,介绍了文档的基本权限,包括读写执行(r,w,x),还有文档若干的属性,包括是否为目录(d).文件(-).链接文件(l).拥有者.所属群组.容量大小(字节数).最后修改时间等等,可以通过chown.chgrp.chmod来变更这些属性和权限.正所谓,打铁要趁热,理解了这些基本的权限和属性后,本篇我们就来谈谈文档的默认安全机制.隐藏属性.特殊权限. 默认安全机制 首先,我们使用管理员root账户分别创建文件file001和目录d…
学习linux之前,有几个命令是必须记住的 我们最常见的删库命令 rm -rf /** 这个命令可以在你心情不好的时候,对着公司服务器操作一番,保证让你一时爽, 删完库这个时候你就该跑路了,但是你真的能跑的掉吗,恐怕等待你的就是牢狱之灾: 所以我们要在这里提前做好预防. 1.我们可以使用温和的删除命令,每一次删除都会要你进行确认,避免删错 rm -ir directory 2.在每一次删除前,我们先做好备份 touch test #新建文件 cp test test.bak #复制为带后缀bak…
每日英语,每天进步一点点(偷笑): 前言 临近五一节,想到有 5 天假期,小林开始飘了. 写个简单的 Bash 脚本都不上心了,写完连检查都不检查,直接拖到到实体服务器跑. 结果一跑起来,发生不对劲,怎么一个简单脚本跑了 10 秒还没结束,于是立马直接 ctrl + c 一顿操作停掉了运行中脚本. 接着,习惯性的输入了 ls,结果 what? 找不到 ls 命令? 瞬间背后一凉,慌慌张张打开了脚本. 发现问题了,小林我写了个巨蠢的 Bug,间接执行了 rm -fr /* ,这不意味着我删库了?…