都别拦着我,我要删库了
本来想删公司服务器,经同事劝解,改为删本人电脑vmware上的虚拟机。
rm -rf /*
一个流传甚广的命令,删库命令,自毁命令说的都是他,常年霸占Linux最危险命令排行榜第一名。关于它的故事有很多
事故一
❝今天去一公司面试,他们要我写个shell,我在他们的服务器输入rm -rf /*,回车,他们现在不让我走了,我想问问我是不是被录取了?
❞
事故二
❝某技术讨论群里
❞
问:Linux优化命令是什么?
答:rm -rf /*
问:好的,我试一下,多谢!
问:卧槽 我网站打不开了! 现在怎么办?
答:跑路吧
事故三
❝一个新来的妹子想卸载Oracle,执行了 rm -rf $ORACLE_BASE/*
❞
可是ORACLE_BASE 这个变量没有赋值。就这样,全删了。。全删了
命令真正含义:删除根目录"/"下所有文件和目录,有子目录的递归删除。
删库过程
vmware上装的Red Hat Enterprise Linux Server release 6.6,没安装其它应用。切换到root账号,执行rm -rf /*
可以看到满屏的cannot remove报错,由于是个刚装完的系统,都是系统本身的文件,没有引入外界的文件,很快命令执行完毕。中间省略好几屏,不能删的报错,能删的就什么都不提示。
然后命令行里ls reboot shutdown命令都无法识别了,想关机或者重启都不行。cd命令还好使。
这个时候securecrt也连不上了,据说如果删库之前连接上了,现在可以使用。
到Linux桌面,点击鼠标后桌面图标全部消失,还好system->shutdown 可以关闭虚拟机。
但是卡在下面位置不动了
点击vmware菜单栏的下拉关机按钮 ,弹窗报错“发出的关机请求失败”
想叉掉,没有反应。虚拟机->管理->从磁盘删除 是灰色的无法点击。查看控制台视图,开启虚拟机是灰色操作不了彻底关闭vmware软件 ,弹窗报错“虚拟机繁忙”
任务管理器结束vmware任务,可以退出虚拟机,重新启动看看
再次点击开启此虚拟机,卡死在vmware界面
但是可以叉掉。
如果vmware重新打开虚拟机vmx文件,可以进入grub引导界面,引导操作不可能成功,因为缺少太多文件了。
实验结论
-
删库后, 各种命令除了cd都不好使了,处于无法使用的状态。 -
桌面操作也基本不行了,能执行system->shutdown关机,但关机无法成功完成。 -
真实的物理机应该大同小异,无法继续使用是肯定的,不同的是物理机可以按电源按钮断电,然后观察重启的反应。 -
做了这个事后,我用vmware重新安装虚拟机,重装的虚拟机都不太好使了,经常开虚拟机后卡在开机画面进不去系统。vmware卸载再安装也没行。后来改用vbox装虚拟机了。
删了库一定要跑路吗
网友提供了以下经验
❝发现删库了,马上ctrl+c掐断执行的命令和脚本,少删一个是一个。会有少量命令在删库后还是好使的,这些命令能帮助恢复部分其它命令。然后从其它服务器拷贝文件到本机,补齐被删文件。只是能补齐操作系统本身的文件。
❞
❝拆下硬盘放到其它服务器,然后使用ext3grep或者extundelete,据说有成功恢复部分数据的。万一那部分就是最重要的数据,那损失就很小了。
❞
本文分享自微信公众号 - MySQL从删库到跑路(cskdpl)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
最简单的微服务部署测试实践
微服务特别适合业务复杂,开发队伍庞大的项目。微服务可以到达化整为零,简化单个服务,降低沟通成本的效果。但微服务在性能上比单体服务低,也会有数据冗余的问题,要结合自身情况,不要盲目崇拜。本文介绍一种简单的微服务技术架构。帮助大家对微服务如何部署,如何开发有个初步的认识。 一个简单的微服务架构 部署图如下 nginx: 对外统一入口,根据url将请求分发到不同微服务,用ip:port区分不同的微服务。也会直接处理一些静态资源的访问,本身就是web服务器。 springboot+dubbo: spring boot是目前最流行的开发web服务的框架(jsp,ejb,ssh这些框架过于老旧),它和微服务没有必然联系,但它结合dubbo可以开发微服务,要求就是spring boot工程要import dubbo.jar或者使用maven引入dubbo。配置dubbo-application.xml,里面写好zookeeper服务地址端口以及提供者和消费者要注册的接口方法。一个微服务要调用另一个微服务的方法,只需要@Autowired注册接口类的对象,用对象调用方法即可。麻烦点的是各个微服务对同一...
- 下一篇
ThreadLocalRandom 安全吗?
前言 最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个流程下来,学到了不少东西,也通过搜索和提问解决了很多疑惑,于是总结成本文。 Random 的性能问题 使用 Random 类时,为了避免重复创建的开销,我们一般将实例化好的 Random 对象设置为我们所使用服务对象的属性或静态属性,这在线程竞争不激烈的情况下没有问题,但在一个高并发的 web 服务内,使用同一个 Random 对象可能会导致线程阻塞。 Random 的随机原理是对一个”随机种子”进行固定的算术和位运算,得到随机结果,再使用这个结果作为下一次随机的种子。在解决线程安全问题时,Random 使用 CAS 更新下一次随机的种子,可以想到,如果多个线程同时使用这个对象,就肯定会有一些线程执行 CAS 连续失败,进而导致线程阻塞。 ThreadLocalRandom jdk 的开发者自然考虑到了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启