随着互联网不断发展,软件、网页、数据挖掘等对数据的精准度要求越来越高,这一切都有赖于数据库作为他们的核心,所以数据库的备份非常的重要,能够防止数据的丢失并及时的恢复重要数据防止对用户或玩家的影响。数据库备份如何做到的?通过将数据库文件进行复制来备份,可以有效的备份数据,各种备份相互合作,保证数据库的稳定。
一、数据丢失的影响
数据库文件丢失的影响是非常大的,不仅仅是数据的丢失严影响道到软件或者应用,更是对企业的一种信任危机,因为一个企业数据文件丢失不只是数据保存的不严谨,如果只是存储数据设备的老化,及时更换耽误的时间比较短,也不会受到用户或玩家的质疑。如果是遭受到黑客的攻击,导致的数据文件的丢失以及失窃,这就会对企业的安全性产生质疑,这个时候数据库备份显得格外重要,不仅能及时的恢复文件,更是能增加对黑客的追击,省下来时间去按照黑客攻击路线去进行反推进,将这种法外狂徒收押。
二、数据库的物理备份
1、数据库脱机冷备份
数据库备份如何做到的?第一个就是数据库的脱机备份。脱机备份又称为冷备份,这个形式的备份要将数据库关闭之后,对其中的数据进行拷贝备份,所提供一个完整的数据库,非常的简单快速,并且恢复效率高,维护成本低,但是本身也有着不小的缺点,就是在备份过程之中,数据库必须是关闭的,其次是磁盘的空间有限,只能进行外接到其他的存储设备之中,降低了存储速率,在恢复的过程之中只能恢复到某一时间点上,不能按照用户或者表进行回复。
2、数据库的联机热备份
相对于冷备份,热备份值得是数据库在运行的过程之中,采取archivelog mode方式将数据库数据进行备份,依赖于数据库的日志文件来进行备份,可以备份数据路的表或者文件,备份时间端,数据库备份时仍可以使用,缺点就是不能够出差错,一旦是除了差错,那么就要重新备份,不能够用于数据恢复的作用,严谨度比较高。
三、数据库的逻辑备份
1、数据库的完全备份
每一次对整个数据库及完全的备份,不仅仅是数据中的文件,更是对数据库结构和文件结构等进行1:1完全备份过来,这种备份方式无疑是最可靠的,相比于其他备份,操作起来也比较的简单方便,但是这种方式所用的时间漫长,而且占用着大量的磁盘空间,如果是每一次都采用完全备份,所消耗的存储设备就是一个不小的支出(如果想保存每一份完全备份的数据用于不同时间点上的恢复),并且数据库之中含有着大量的重复备份文件,这相对于来说是一种对存储空间的浪费。
2、差异备份
这种备份方式是依托于第一次的完全备份,对数据库之中的上一次备份过进行修改过的内容进行备份,是一种恢复与上一次完全备份最佳的的差异备份即可,在数据库恢复上,先将上一次完全备份的数据进行修复,在恢复这些差异性备份的文件,他本身的缺点就是只会对照上一次备份之后的数据,完全复制修改过的数据或多出来的数据,导致数据的存储量越来越大。
3、增量备份
这种备份方式也是依赖于完全备份的,与差异备份不同的是,对数据之中增加的量和差异进行备份,每一次都坐着对比,取决于上一次备份时本身的状态所决定的。
四、数据库的备份方式
1、打包数据库文件夹
将保存在安全目录下的数据库整体进行打包,进行压缩后在保存, 在备份过程之中,可以使用命令查看备份指令是否成功,生成了备份文件,这种方式打包的文件在遇到数据库损坏之时,可以直接的解压文件,替换掉损毁的数据库,有利于数据库的恢复,并且因为压缩,本身的大小缩小,占据更少的内存空间。
2、mysqldump工具备份
这是一种灵活的数据库备份软件,能够备份自己想要备份的内容,可以进行单独的备份,更加节省了自身的内存,也可以进行整个库的完全备份,多种方式供你选择。
五、数据库损坏的原因
1、事务日志的丢失
事务日志的丢失可能是来源于管理者的删除,也可能是因为数据库保存时其中的文件过多、过大,导致本身的数据库内存空间的不足,这种情况已经严重威胁到了数据库的安全,内存不足,可能会导致新增的数据进入不到数据库之中,数据更新的不及时,会出现丢失数据。
2、异常断电或关机
意外断电和异常的关机都会造成正在读写过程之中的数据文件丢失,以及数据库文件的损坏,并且对服务器或者主机造成不可以想的损毁。
3、数据库索引的破坏
数据库索引的删除可能是不小心的,也可能是计算机的异常导致的数据索引被破坏,这样根据索引查询到目标数据,数据库产生异常,按照被破坏索引的范围来划定数据库损失的严重性。
4、数据库文件更改名字
数据库文件更改名字,或者文件夹更改名字,导致数据库检索不到保存到数据库之中存储的文件,导致数据库出异常,也可能是被不小心删除,忘了更改路径,这个时候只需要更改一下,或者恢复删除文件就好了。
5、硬盘的损坏
硬盘本身的寿命只有10~20年,按照写入的多少来消耗寿命,一旦是寿命消耗殆尽了,整个硬盘损毁,也可能是硬盘的生产工艺的参差导致硬盘本身的质量问题损毁,,数据库文件全部丢失,只能是依靠完全备份重新恢复。
6、感染病毒或黑客攻击
病毒感染数据库导致数据库之中数据文件的丢失,或者是冗余文件的繁多,导致数据库查询异常,进一步的被修改了数据库的日志文件,导致数据库的异常。