• 【数据库数据恢复】linux操作系统下MYSQL数据库恢复案例


    数据库数据恢复环境:
    合肥某大学一台安装redhat linux操作系统的服务器,采用ext3文件系统,服务器部署有mysql数据库用来存储&管理教职员工和学生的信息。
    编写好的脚本每天会定时将数据库文件打包成tar.gz备份到本地磁盘的其他分区并删除前一天的备份文件。

     

    数据库故障&分析:
    服务器遭受攻击,所有数据库文件(包括备份)被恶意删除。
    本案例是ext3文件系统数据被删除,若删除的文件数量比较少且删除后没有或者只有很少的写入,恢复出数据的概率比较高。

    数据库数据恢复过程:
    1、对故障服务器所有硬盘以只读方式进行镜像备份,镜像过程中发现所有硬盘的物理状态良好。
    2、根据用户提供的信息确定原数据库文件及备份文件的存储路径。查看系统日志发现服务器遭受攻击这一天的数据库文件已经备份成功,而且数据库备份文件所在分区在数据库文件被恶意删除后只有很少的写入操作,而原数据库文件所在的系统分区在数据库文件被恶意删除后又生成过新的系统及临时文件。


    3、分析数据库备份文件所在分区,根据文件系统保留的备份文件相关信息,北亚数据恢复工程师将文件inode结点回溯至数据删除前的状态,然后将备份文件迁移出来。
    4、解压所有恢复出来的tar.gz文件,并将数据库文件附加到准备好的数据库环境中对数据库记录进行校验,确认数据无误后交付给用户验证。
    5、用户亲自对数据库文件进行验证,没有发现问题。协助用户把恢复出来的数据迁移到用户准备好的环境中。

     

     

    服务器数据安全Tips:
    1、操作系统密码尽量设置复杂以增加系统、数据存储和应用的安全性;
    2、数据库文件的备份最好不要直接备份到服务器本地硬盘,最好能通过网络或者其他方式备份到其他存储中;
    3、发现数据丢失后应尽快停止所有的针对丢失数据所在分区的操作。

  • 相关阅读:
    二叉树与堆
    【公众号备份】运维现状思考之字字珠玑
    十大排序算法之——归并排序算法(Java实现)及思路讲解
    如何基于three.js(webgl)引擎架构,实现3D密集架库房,3D档案室(3d机器人取档、机器人盘点、人工查档、设备巡检)
    Redis 学习笔记
    C语言模拟类的宏
    windows彻底卸载unity
    Ubuntu16.04 部署 TensorFlow2-GPU版本(虚拟环境)
    解决Golang编译、执行单测、运行程序遇到:cgo: malformed DWARF TagVariable entry 的问题
    Ajax跨域请求的两种实现方式
  • 原文地址:https://blog.csdn.net/beiya123/article/details/127862754