MySql5 Windows vista/7系统重装后的数据恢复与备份

时间:2024-04-06 17:10:54

关键词:

mysql5 ,windows ,vista,7,重装,数据恢复,数据备份,李顺利,系统,data,mysql ib_logfile0,ProgramData,

以前用的是vista系统,最近重新安装了一个windows 7系统,系统改变了,以前的开发软件也要重新安装一次。在安装mysql的时候,原来的数据肯定是丢失了,还好我重装系统前进行的一次备份把mysql里面data文件夹下面的所有文件全部copy了一份出来。

大家注意一下,在mysql5.0里,data文件夹放的位置和操作系统有关,在windows xp系统里就在mysql安装文件夹下,一般在Program Files里,而在windows vista或者7下一般在世ProgramData文件夹下(如果看不见,请选择文件夹选项把隐藏受保护的操作系统文件勾去掉,并把现实隐藏文件打上勾)。

MySql5 Windows vista/7系统重装后的数据恢复与备份

看里面的文件ib_logfile0和ib_logfile1都是日志文件,不是很重要,最要的文件时ibdata1和文件夹下的.frm文件。先说一下这两类文件的大概作用。

l.frm文件一般就是一般数据库中的所有表的结构

libdata1文件就是数据库表中的数据

如果要备份,我觉得缺少这两类文件都不可以(如果有ibdata1没有frm文件,你还记得表结构应该在你重新建立表后应该也可以恢复)。

现在来看看是如何恢复的?

1.停止mysql服务

右键计算机­->服务和应用程序­->服务­->MySQL­->停止

MySql5 Windows vista/7系统重装后的数据恢复与备份

2.删掉原mysql数据库中的data文件夹

在ProgramData下找到mysql文件夹,在进入mysql server,删除data文件夹(建议先备份后删除)

3.Copy备份的mysql数据库中的data文件夹

把以前备份的data文件夹copy至mysql server文件夹下(不要破坏原目录结构)

4.异常处理

重新启动mysql服务器,如果没有错误的话,一般都是可以恢复mysql数据库中的文件的,包括表结构和表数据。但是在后面的几次恢复中我出现了下面的错误MySql5 Windows vista/7系统重装后的数据恢复与备份

一开始还以为自己的备份数据破坏了,后面尝试了好多,终于明白是日志文件搞的鬼,把data文件夹下面的两个日志文件删除,在重新启动mysql服务器应该是OK的。

5.恢复成功

在MySql数据库开发中顺利有几点建议:

1.在重装系统前一定要把mysql数据库中的data文件夹进行备份;

2.在做每个项目的时候,一定要备份所用到的数据库,最好能生成sql文件放到工程下面;

ib_logfile对数据point in time修复作用大。删除也没什么大。但不要删除ib_data*

innodb表损坏,可能导致mysqld不断地crash。
在用户访问到有问题数据的位置就可能导致crash。而mysql目前没有修复innodb 表的工具,只能用innodb_force_recovery=1,
避免在导出数据时再crash。在my.cnf or my.ini 中设置好后重启库,再用 mysqldump或者select *把出问题的表导出来。然后重新导入(删除原表)。如果数据量大的话,就得慢慢等了。

最后弱弱地说一下,如果可以的话,转载请提供出处(http://www.blogjava.net/lishunli/archive/2011/04/28/308845.html),谢谢。