从一个运维人员的角度看微盟的这次删库跑路的节奏

这二天,微盟运维人员删库的事件刷屏了,造成的影响特别的大。

回顾整个事件,本人从15年的运维人员的角度来分析一下这个事件:

1、 为什么一个运维人员会有这么大破坏力,让整个公司业务都瘫痪了?

很多人都会说权限没控制好,不应该给单独一个人这么大的操作权限,同时一个人不应该有这么多业务和数据库的登陆和操作权限,没有操作分级和审核机制等等。

说实话,一般的公司,很难请几个不同角色的运维人员,财力与物力是不可能实现的(除了那几个大厂外),很多公司都是二三个运维人员,交叉管理不同业务授权,做不到职责明确分类。而且大部分职业上的习惯,会拥有最大的root权限(就算很多大互联网公司出来的运维也有这样的习惯)。

但是,绝大多数的中小型公司来说,是不会遇到本次这种极端状况的,真的遇到这样的事,真的是看命好不好,看运维人员的心情状态了,自求多福吧。

2、 为什么恢复时间会这么久,而且至今无法完全恢复?

极有可能是直接做了rm -rf或者fdisk这样的基本不可逆转文件删除操作,而且很可能是主备一起干掉了,同时可能平时没有做好备份机制,或者可能是把备份也一起删除了(很多公司备份基本上也是在运维人员手里的)。

3、那么,真的碰到这样的事了,有没有好的办法解决呢?

1)、使用云产品,而且要使用大厂的云产品,这里不是说你用云服务器就可以了,你需要用他们的云数据库产品,而且要买一系列的保护盾。

2)、权限控制,如果真的没法做到最小授权,建议上个主机安全管控软件,或者堡垒机,多次分层级的进行审核,角色分级操作,就是下级需要操作的时候,一定要通过主管领导的审核(特别是类似rm -rf 、fdisk、drop等等这样的高危命令的时候)。主管领导要把临时开放操作权限掌握在自己手里,不要怕麻烦,用一次开一次,再关一次。

3)、备份,一定要建立好备份机制:全量备份,增量备份,延迟备份,全量备份要多机房,异地备份,因为数据是核心资产,应用全删了还可以重新部署,数据没了,公司就没了,就是这么狠。就算是用了云数据库,备份文件也下载一份下来,自己在不同机房,不同云,不同地方多存几份,千万不要怕花钱。同时备份文件要多份分多人不同地方保管。

4)、人的问题,这个就仁者见仁,智者见智了,再完美的技术,也防不住人的,这个我认为与一个公司的文化氛围与制度、领导的魅力等是息息相关的。

但凡一个人,都有自己的道德底线,在没有到一定程度的时候,都会克制自己(精神病除外)。公司平时对下面的员工好一点,俗话说,好聚好散,就算你对员工不满意,要裁员也好,要开除也好,尽量的让对方少一些怨气,多一份尊重。另外,尽量做些普法宣传,每人都有点敬畏心理,可能效果会好一些。

说了这么多的费话。 最后分享一个懒人的安装mysql的操作代码(直接复制改成可执行的.sh 文件执行就可以):

#!/bin/bash

echo "开始时间:`date +%Y-%m-%d\ %T`" >> /home/mysqlsetup/logtime

echo "安装依懒包!"

sleep 3

echo "创建用户与组"

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

echo "开始编译安装mysql"

cd /home

cp /media/software/mysql-5.5.32.tar.gz ./

tar zxvf mysql-5.5.32.tar.gz

mkdir mysql

mkdir /data/mysql

mkdir /data/mysql/data/

mkdir /data/mysql/log

mkdir /data/mysql/tmp

mkdir /data/mysql/log/binlog

mkdir /data/mysql/log/relaylog

cd /home/mysql-5.5.32

cmake \

-DSYSCONFDIR=/etc \

-DCMAKE_INSTALL_PREFIX=/home/mysql/ \

-DMYSQL_DATADIR=/data/mysql/data/ \

-DMYSQL_UNIX_ADDR=/data/mysql/log/mysql13306.sock \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=13306

make

make install

echo "编译完成!"

sleep 5

echo "修改权限!"

chown -R mysql.mysql /home/mysql

chown -R mysql.mysql /data/mysql

cd /home/mysql

cp support-files/mysql.server /etc/init.d/mysql #放在启动项里

chmod 755 /etc/init.d/mysql

sleep 3

echo "初始化mysql"

scripts/mysql_install_db --datadir=/data/mysql/data/ --user=mysql #初始化

rm -rf /etc/my.cnf

cp /home/mysqlsetup/my.cnf /etc/my.cnf #复制标准mysql配置文件,这个需要提前写好哦

echo "启动mysql"

/etc/init.d/mysql start

echo "修改mysql环境变量"

cat /home/mysqlsetup/file.txt >>/etc/profile

source /etc/profile

sleep 5

echo "开始设置密码!"

mysqladmin -u root password xxxxxxxxxxxx #记得安装使用完后要修改与收回最高权限

echo "开始设置iptables"

sed -i '11i\-A INPUT -m state --state NEW -m tcp -p tcp --dport 13306 -j ACCEPT' /etc/sysconfig/iptables

service iptables restart

sleep 3

echo "添加到启动项!"

chkconfig --level 235 mysql on

echo "删除旧文件!"

rm -rf /home/mysql-5*

echo "mysql安装完成,并启动,请检查是否可用!"

echo "结束时间:`date +%Y-%m-%d\ %T`" >> /home/mysqlsetup/logtime

########

从一个运维人员的角度看微盟的这次删库跑路的节奏相关推荐

  1. 一个被高管绿的程序员如何彻底地删库跑路

    原文:程序员如何彻底地删库跑路 据说, 某公司程序员贺某在2月23晚突然把公司数据库全部删除. 原因是: 高管(据说是创始人之一)绿了员工,员工去公司找高管理论, 高管把这名员工裁撤掉,员工的老婆去劝 ...

  2. 运维进化论:微盟“删库跑路”给我们的启示

    作者:茹炳晟,软件质量和研发工程效能专家 事件背景 微盟是国内移动互联网营销引领者,中国最大的微信公众智能服务平台,基于微信为企业提供开发.运营.培训.推广一体化解决方案,帮助企业实现线上线下互通,社 ...

  3. 程序员变高危职位!又一个删库跑路进去了

    上一篇:中国各城市首轮感染高峰期预测! 最近又有一个同行为了泄私愤,又删库跑路了.(我为什么要加个"又"?) 一提到「删库跑路」,大众肯定最新会想到程序员群体. 没错,我们手上握着 ...

  4. 又一个程序员跑路删库跑路被抓了,导致服务器瘫痪 36 个小时!

    点击上方"Java之间",选择"置顶或者星标" 你关注的就是我关心的! 来源:云头条 上一篇:数据库连接池到底应该设多大? 今日晨间微盟发布<自願公告 S ...

  5. 如何防止删库跑路?运维堡垒机高效安全运维设计与实践落地

    在刚刚结束的 2020 全球新一代软件工程线上峰会上,有着近七年自动化运维平台研发经验的京东智联云产品架构师任龙涛,分享了<运维堡垒机高效安全运维设计与实践落地>议题.本篇文章将为大家回顾 ...

  6. 一个运维人员能同时管理100+服务器吗?

    学会利用工具,是一个优秀的运维要做的事情. 像这种有多个服务器需要管理维护的,我建议可以使用集群式服务器运维管理工具,这类工具就可以添加管理多个服务器,像现在网上比较受欢迎的有宝塔.云帮手这些. 下面 ...

  7. 记录一个删库跑路的技巧(如何快速删除数据库下面的所有表)

    如何快速删除数据库下面的所有表 先说sql语句,耐不住性子往下看的直接在数据库执行这个就可以~ 然后你会获得所有的删除sql语句 然后就是CV大法 把这两句(打个比方)执行一下~ 库就空了!你千万不要 ...

  8. 普通运维人员就是秋后的蚂蚱!

    我虽是一个IT屌丝,但特别喜欢关注整个大行业的动态,干IT运维相关工作到现在也快8年了,企业对运维人员的专业能力要求确实提高了不少,现在再去面个运维工程师的职位都要求会个开发语言啥的,这在2007是不 ...

  9. 普通运维人员是秋后的蚂蚱?

    我的观点 我虽是一个IT屌丝,但特别喜欢关注整个大行业的动态,干IT运维相关工作到现在也快8年了,企业对运维人员的专业能力要求确实提高了不少,现在再去面个运维工程师的职位都要求会个开发语言啥的,这在2 ...

最新文章

  1. 将数组存入mysql数据库,将数组值写入mysql数据库
  2. 阿里云 rds 在windows 里面恢复
  3. mysql binlog日志优化及思路
  4. Linux命令 iperf - 网络性能测试工具
  5. java面试题4 牛客:运行下列代码,运行结果为
  6. linux读取扇区内容,linux-device-driver
  7. 前端框架 Bootstrap 4.5.2 发布
  8. 百度面试题:Median of Two Sorted Arrays(java实现)
  9. Java基础语法结构
  10. CentOS 7安装TeamView
  11. Leetcode应该怎么刷?【笔试】
  12. Ubuntu上无法登录网页版本微信的解决方案
  13. NodeJS 初学之安装配置环境
  14. 在墨刀中使用思维导图
  15. 智能展示技术在淘宝封面图的应用
  16. 苹果uwb_苹果电子追踪器即将发布,我们扒了扒产品背后的 UWB 超宽频技术
  17. 2021年,自媒体人该怎么建立自媒体矩阵?
  18. 【Linux学习】权限
  19. 博士毕业年龄如何计算机,紧缺专业博士因年龄问题,毕业等于失业(转载)
  20. LeetCode-Convert_a_Number_to_Hexadecimal

热门文章

  1. RuntimeError: DataLoader worker is killed by signal: Killed.报错解决
  2. FHQ Treap 详解
  3. Android--经典蓝牙(文件传输--socket通信)
  4. linux学习步骤(从入门到精通)
  5. ubuntu导入第三方库_1.Ubuntu目录与第三方库
  6. Discuz!无法连接阿里云RDS数据库代理问题的处理方案
  7. Matter理论介绍-通用-1-04:桥接器-其他功能
  8. zzulioj1197 考试排名(一)(结构体专题)
  9. tf.multiply()
  10. 人工智能学计算机语言,人工智能需要学什么编程语言