下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

数据库如何防止程序员删库到跑路

作者:沙茶敏碎碎念     来源: 今日头条点击数:1307发布时间: 2020-03-03 11:50:19

标签: 数据库运维MySQL

微盟程序员删库导致股价暴跌10亿,如何防止程序员删库到跑路。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

这两天有个特别火的事情,段子竟然成真了!微盟公司有个运维人员人员,因为个人原因,把公司的数据库删个精光,整个网站崩溃,因此,微盟公司估计大跌近10个亿。程序员删库到跑路,这个我们以前常说的段子,没想到又一次在现实中发生了!在今天早些时候,微盟已经宣布新用户已经恢复使用,而旧用户的数据将在28号前恢复。数据库对于一个系统,就好比一个建筑的根基,数据库被删库,就好比摩天大楼的支持柱损坏。既然数据库这么重要,那么,我们这么保证数据库的安全,防止数据被删除呢?

数据库如何防止程序员删库到跑路_数据库_运维_MySQL_课课家这么想,如果我杭州的支付宝的数据库炸了,那么我们是不是可以不用还花呗了。答案显然不可能,在现实的生产环境中,我们很少只使用一个数据库,通常一台机器会发生单点故障,那样子系统的可用性明显就不高。在生产环境中,我们通常会使用多个数据库,有些是主库的备份,如果这个备份只是当主库发生故障的时候用来应急,我们称之为冷备。每次数据库的变更操作,都会同步到备库,假如主库发生故障,我们可以切换到备库,这样子用户几乎没有感知到后台发生过如此惊险的事情。所以,假如程序员或者运维人员恶意摧毁数据的硬件,或者删除数据,假如不是通过数据库命令,就不会被同步到备库上,这个时候,程序员只能删库失败。

image

假如数据真的是被程序员使用数据库命令删除地,并且已经同步到备库上,这个时候该怎么办呢?一般情况下,我们的数据库都是有离线备份的,也就是每天三更半夜的时候,都会把前一天的存量数据打包起来,放到别的机器上,以备不时之需。那么对于今天才产生的新数据,怎么处理呢?基本上,每个数据库操作都有日志,例如我们最常用的MySQL,就有binlog,在我们日常每次操作数据库的时候,都会写下一条对应的日志,所以,我们只要取昨天的离线数据,然后回放今天的数据即可。

那么如何保证数据库的安全呢?

1.限制帐户权限,核心的数据库,一般都不能随便分配写权限,想要获取写权限需要审批,并且,不同的账号,不同的数据之间要进行权限分离,避免一个账号可以删除所有库。

2.定期进行演练,进行数据恢复,一旦发生故障,也可以安然自若,不必惊慌失措。

3.最重要的,还是要善待员工,不要天天加班,开车都不能疲劳驾驶,何况是开数据库的。多给程序员放点工资,介绍女朋友,让他对生活充满信息,毕竟对生活有信心的人,才不会去铤而走险。

严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

赞(12)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程