卧槽!新来的妹纸rm -rf把公司整个数据库删没了,整个项目组慌了~
互联网架构师
共 4310字,需浏览 9分钟
·
2021-04-17 13:35
上一篇:3600万中国人在抖音“上清华”
作者:zhouyu
来源:cnblogs.com/zhouyu629/p/3734494.html
哈喽,各位新来的小伙伴们,大家好!由于公众号做了改版,为了保证公众号的资源能准时推送到你手里,大家记得将咱们的公众号 加星标置顶 ,在此真诚的表示感谢~
正文如下:
经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。
也希望遇到问题的朋友能找到一丝灵感解决问题。
安排一个妹子在一台生产服务器上安装 Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。
从网上找到卸载方法,其中要执行一行命令删除 Oracle 的安装目录,命令如下:
rm -rf $ORACLE_BASE/*
如果 ORACLE_BASE 这个变量没有赋值,那命令就变成了:
rm -rf /*
ext3grep /dev/vgdata/LogVol00 --dump-names
ext3grep /dev/vgdata/LogVol00 --restore-all
ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/aqsh/tb\_b\_attench.MYD
ext3grep /dev/vgdata/LogVol00 --dump-names >/usr/allnames.txt
while read LINE
do
echo "begin to restore file " $LINE
ext3grep /dev/vgdata/LogVol00 --restore-file $LINE
if \[ $? != 0 \]
then
echo "restore failed, exit"
fi
done < ./mysqltbname.txt
extundelete /dev/vgdata/LogVol00 --restore-directory var/lib/mysql/aqsh
03
灵机一动:Binlog
mysql-binlog0001 mysql-bin.000009 mysql-bin.000010
ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/mysql-bin.000001
mysqlbinlog /usr/mysql-bin.000010 | mysql -uroot -p
04
后记
本次安排 MM 进行服务器维护时没有提前对她进行说明厉害情况,自己也未重视,管理混乱,流程混乱。一个在线的生产系统,任何一个改动一定要先谋而后动。 自动备份出现问题,没有任何人检查。脱机备份人员每次从服务器上下载 1K 的文件却从未重视。需要明确大家在工作岗位上的责任。 事故发生后,没有及时发现,造成部分数据写入磁盘,造成不可恢复问题。需要编写应用监控程序,服务一旦有异常,短信告警相关责任人。 根据评论提醒,再加一条:不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户。
https://code.google.com/p/ext3grep
http://extundelete.sourceforge.net
看完这篇文章,你有什么收获?欢迎在留言区与10w+Java开发者一起讨论~
1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结
5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...
评论