😤😤😤rm -rf 这个命令是用来强制删除 Linux 文件的,但是网上流传的数据库删库命令也是他???难道不是 drop database xxx?👋

2018-09-21 20:59:05 +08:00
 429463267

😤😤😤😤# 大佬们,请教个问题:

rm -rf 这个命令是用来强制删除 linux 文件的,但是坊间流传的数据库删库命令也是他,然而删除 mysql 数据库命令是 drop database xxx

所以这两个命令是不是被网友混淆了?

而且一般数据库都是云端的,本机远程连接,在 mysql 命令行执行 rm 命令也是无效的啊。。。

所以该怎么解释使用 rm -rf 删库跑路的段子?

难道我的数据库知识白学了?

16639 次点击
所在节点    程序员
79 条回复
zeroDev
2018-09-21 21:24:52 +08:00
建议题主自己试试
CasualYours
2018-09-21 21:27:40 +08:00
@429463267 这样肯定不会,然而出事的都是远程服务器,而且超级用户权限。这个 var 放在根目录挺碍眼的,rm,然后 gg
mikeguan
2018-09-21 21:28:49 +08:00
21 端口一般 FTP 用
22 端口一般 ssh 用
无法连接数据库服务器 如果需要运维操作怎么办?你的服务器只开 3306 端口可以 但是你需要确保你永远不需要登录操作
mikeguan
2018-09-21 21:39:29 +08:00
@429463267 其实我觉得一般企业数据库端口都是不对外开放的 (点名华住)
zn
2018-09-21 21:44:46 +08:00
@429463267 那是你觉得,你的想法很正确,然而你的想法有个致命缺陷,那就是太理想化了,以为所有企业都很专业很严格地管理、使用数据库。

现实中大部分企业都是自己在服务器上安装一个数据库,然后就这么用下去了。然后总会有手贱的人一不下心在服务器上运行了个 rm -fr /,然后就 gg 了。
izoabr
2018-09-21 21:51:27 +08:00
你可以弄个数据库,然后#rm -rf /
你会发现无忧无虑
429463267
2018-09-21 21:52:18 +08:00
@zn

看了你的答案,豁然开朗,醍醐灌顶。。。


因为我之前工作的公司都是多台服务器独立 ip,而且分为生产服务器和测试服务器,数据库也是独立的。
我最多也就可以看到 git 仓库里面测试数据库的账号密码
429463267
2018-09-21 21:57:08 +08:00
@429463267 @zn @young6 @cnbobolee @akira @CasualYours @yingfengi @fy @lihongjie0209 @musi @changnet @RickyHao @zeroDev @mikeguan @izoabr

我理解的是:

生产服务器和生产数据库不在同一台主机,我以为其他公司也这样呢😡。

如果把生产代码和生产数据库全部放一台服务器主机上,那只能说这家公司太穷了。。。
celeron533
2018-09-21 21:59:30 +08:00
@429463267
Drop database 实在数据库管理控制台里做的,只能删除数据库,不影响数据库软件自身以及文件系统

rm rf 则是在数据库所在的操作系统做的事情,任何东西都可以一锅端,包括数据文件和数据库软件以及操作系统自身

如果 dba 能直接 ssh 到数据库服务器(不是 MySQL 控制台),然后 su rm rf 那就完蛋了
429463267
2018-09-21 22:03:21 +08:00
唉,此贴终结,看来是我太认真了
@yingfengi
zn
2018-09-21 22:12:41 +08:00
@429463267 你应该还没工作吧,很多情况想得太理想化了。其实这样做的公司太多了因为服务器托管是要钱的,一年一万左右,两台就是两倍价格。所以很多公司就托管一台性能好的,什么都放上面跑,比你托管两台划算多了。这是性价比问题,不是穷不穷的问题。一个巨无霸汉堡 20 块,两个 30,你肯定买得起,可是你会买两个回来吃一个扔一个吗?
harde
2018-09-21 22:21:10 +08:00
@429463267 太穷。。。。 图样图森破

我前公司,Oracle 集群,有灾备,但是 rm -rf / 一样会死人的。。。。。。
harde
2018-09-21 22:23:39 +08:00
无论是不是多服务器,你数据库的服务器总是需要维护的。 那就会给 rm -rf /提供机会。

即使所谓的云数据库,你也很难保证云厂商的攻城狮不给你来个从删库到跑路。。。
Cu635
2018-09-21 22:29:16 +08:00
数据库怎么存放数据啊,不还是以文件形式存放在磁盘上嘛。只是文件内容不是明文而是二进制格式化的了。
MonoLogueChi
2018-09-21 22:30:09 +08:00
一切皆是文件
kslr
2018-09-21 22:33:12 +08:00
数据库机器也需要维护,那就有操作环境
young6
2018-09-21 22:36:21 +08:00
@429463267 ssh 是在端口 22 ;所以说用 rm -rf 删库的都是运维,开发一般没有存储数据库机器的 root 权限。不管用啥服务器,总需要有人维护,总有被 rm -rf 的风险。
xiqingongzi
2018-09-21 22:46:13 +08:00
你高看了云服务的普及程度。以及,云服务也需要人维护。只要有人 rm-rf,就没救。
luozic
2018-09-21 22:49:04 +08:00
root 用户上去干活,并且一般 rm 不都是 alias 到 mv 到备份文件夹?
mikeguan
2018-09-21 22:55:45 +08:00
@429463267 #28 数据库服务器也需要维护的 你的想法部署一次跑终身基本不可能 虽然需要登录操作数据库的情况很少 比如磁盘满了,你需要清日志,需要打安全补丁等也会需要登录的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/491660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX