2010-03-18

还是Mysql数据库崩溃以及恢复的问题~

Posted in 实验室, 网络安全 at 1:23 Author:仲远

标签:

已经不是第一次遇到这个问题了~不过就如往常一样,恢复数据还是一个很痛苦的过程。

这次Mysql数据库崩溃的原因很简单,就是数据库服务器在正常运行的时候(估计是正在插入数据的时候)突然断电,导致数据库状态不正常,数据表也无法正常识别。这种问题自然是极少甚至不会在商业公司中遇到,因为一般商业公司的服务器机房不断电时间都是99.99……%,而且一般情况下,断电都是有UPS保护的。估计这种Mysql数据库崩溃情况一般也就发生在实验系统中吧。

这次崩溃的数据库是舆情监控的数据库,里面主要数据表的数据有380多万条。其中最关键的是这些数据是花费10个多月采集下来的,一旦彻底丢失,无法重新获取。

好在之前已经遇到过舆情监控系统数据库崩溃的情况,于是写了一个每日自动备份数据库的脚本。遂找出过往备份,结果第一个备份的恢复就不顺利,因为之前自动备份数据库的脚步图简单,在未加锁的机制下,直接压缩数据库文件,这样效率最高,但是可靠性却不是100%,因为有可能在数据库备份期间,恰好有新的数据插入。

于是往前继续挑选备份数据库进行恢复,不过由于数据库本身size比较大,Mysql在Check table\Repair by sorting上花费了大量时间,不得不耐心等待,最后却又惊讶发现在数据库中的数据表个数为0。经过检查发现,居然是在恢复数据库备份时的文件夹归属以及权限问题导致的,Linux就是麻烦啊。于是继续解决。

同时,在Windows上,也同步进行数据恢复尝试。在Windows上的恢复比较顺利,没有权限问题,很快就在数据库的数据表中发现了那380多万条数据,于是松了一口气,只要这些数据还在,就怎么都会有办法解决的。

不早了,明天再继续解决吧。还得赶VLDB Demo的论文。

本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:

Leave a Comment

*
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text.
Click to hear an audio file of the anti-spam word