Home >Database >Mysql Tutorial >mysql数据库下损坏数据的恢复操作分享_MySQL

mysql数据库下损坏数据的恢复操作分享_MySQL

WBOY
WBOYOriginal
2016-06-01 13:56:381249browse

MySQL数据库下损坏数据的恢复操作分享,供各位参考,以备各位同事以后如有类似问题,可以少走些弯路,尽快解决问题。

环境:windows2003

数据库:MySQL

损坏数据文件名:function_products

将数据库内容物理文件直接导入到MySQLdata下,每只表各3个文件,依次分别为:.frm .MYD .MYI

首先我第一想到的是去网上搜索,寻找类似的工具,试图通过工具来恢复已损坏的文件,于是我在GOOGLE上查找,找到一款名为MySQLRecovery的工具,安装后我用其进行恢复,只可惜效果太不理想,几十M大的数据文件,恢复之后它提示我竟然只有几十K。

我又想到了MySQL下应有自己本身的修复程序等,于是想通过其来进行恢复,在网上查找了资料,提示:由于临时断电,使用kill -9中止MySQL服务进程,或者是mysql正在高速运转时进行强制备份操作时等,所有的这些都可能会毁坏MySQL的数据文件。如果在被干扰时,服务正在改变文件,文件可能会留下错误的或不一致的状态。因为这样的毁坏有时是不容易被发现的,当你发现这个错误时可能是很久以后的事了。

于是,当你发现这个问题时,也许所有的备份都有同样的错误。

我想我现在碰到的问题可能是这个问题,因为备份的数据也是有部分损坏的数据,所以导致不能完全运行,意识到myisamchk程序对用来检查和修改的MySQL数据文件的访问应该是唯一的。如果MySQL服务正在使用某一文件,并对myisamchk正在检查的文件进行修改,myisamchk会误以为发生了错误,并会试图进行修复

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn