MYSQL数据索引文件的修复方法
一般mysql数据库文件损坏都是索引文件出了问题,也就是MYI文件。可以使用 myisamchk 或者 isamchk 修复。
1、在linux操作系统下,不需要登陆到mysql,直接运行bin下的myisamchk -r -q /mysql_database_directory/database/errorTable.MYI。要是不奏效的话,会提示使用myisamchk -o或-f;如果不输入任何参数,则会列出myisamchk命令的所有帮助信息。’myisamchk’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
2、在windows操作系统下,比如Windows2003,可以先“cd”到相应的数据库目录,再myisamchk errorTable.MYI 完成修复。同样,如果不输入任何参数,则会列出myisamchk命令的所有帮助信息。’myisamchk’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
参考资料:
MySQL数据库修复过程
前几天因为MySQL数据库部分数据损坏原因,我尝试了下恢复数据,之后整理以下文档,供各位参考,以备各位同事以后如有类似问题,可以少走些弯路,尽快解决问题!
环境:Windows2003
数据库:MySQL
损坏数据文件名:ecs_products
将数据库内容物理文件直接导入到mysql\data下,每只表各3个文件,依次分别为:.frm .myd .myi。首先我第一想到的是去网上搜索,寻找类似的工具,试图通过工具来恢复已损坏的文件,于是我在google上查找,找到一款名为mysqlrecovery的工具,安装后我用其进行恢复,只可惜效果太不理想,几十MB大的数据文件,恢复之后它提示我竟然只有几十KB。我又想到了MySQL下应有自己本身的修复程序等,于是想通过其来进行恢复,心想应不会太差劲吧,在网上查找了资料,提示:由于临时断电,使用kill -9中止MySQL服务进程,或者是MySQL正在高速运转时进行强制备份操作时等,所有的这些都可能会毁坏MySQL的数据文件。如果在被干扰时,服务正在改变文件,文件可能会留下错误的或不一致的状态。因为这样的毁坏有时是不容易被发现的,当你发现这个错误时可能是很久以后的事了。
于是,当你发现这个问题时,也许所有的备份都有同样的错误。我想我现在碰到的问题可能是这个问题,因为备份的数据也是有部分损坏的数据,所以导致不能完全运行, 意识到myisamchk程序对用来检查和修改的MySQL数据文件的访问应该是唯一的。如果MySQL服务正在使用某一文件,并对myisamchk正在检查的文件进行修改,myisamchk会误以为发生了错误,并会试图进行修复–这将导致MySQL服务的崩溃!这样,要避免这种情况的发生,通常我们需要在工作时关闭MySQL服务。作为选择,你也可以暂时关闭服务以制作一个文件的拷贝,然后在这个拷贝上工作。当你做完了以后,重新关闭服务并使用新的文件取代原来的文件(也许你还需要使用期间的变更日志)。
学会和同事相处30条原则
1.无论发生什么事情,都要首先想到自己是不是做错了。如果自己没错(那是不可能的),那么就站在对方的角度,体验一下对方的感觉。
2.让自己去适应环境,因为环境永远不会来适应你。即使这是一个非常非常痛苦的过程。
3.大方一点。不会大方就学大方一点。如果大方真的会让你很心疼,那就装大方一点。
4.低调一点,低调一点,再低调一点(要比临时工还要低调,可能在别人眼中你还不如一个干了几年的临时工呢)。
5.嘴要甜,平常不要吝惜你的喝彩声。 (会夸奖人。好的夸奖,会让人产生愉悦感,但不要过头到令人反感。)
6.如果你觉得最近一段时间工作顺利的不得了,那你就要加小心了。
7.有礼貌。打招呼时要看着对方的眼睛。以长辈的称呼和年纪大的人沟通,因为你就是不折不扣小子辈。
8.少说多做。言多必失,人多的场合少说话。
9.不要把别人的好,视为理所当然,要知道感恩。
10.手高眼低。
