¡¡¡¡
ÔÚMYSQLµÄÊý¾Ý¿âƵ·±²Ù×÷ʱ»áʹË÷ÒýË𻵶ø³öÏÖÈçÏÂÌáʾ£º
MySQLÊý¾Ý¿â³ö´í:Table is marked as crashed and should be repaired
ÔÙ´ÎÌÆÉ½ÍøÂçÍÆ¼öÄ㼸ÖÖ·½·¨ÈçÏ£º
½â¾ö·½·¨Ò»£º
MySQLÊý¾Ý¿â³ö´í£¬×îºóÓá°REPAIR TABLE `tablename`;¡±ÃüÁîÐÞ¸´¡£
·½·¨¶þ£º
./myisamchk -c -r Êý¾Ý¿â±íMYIÎļþµÄ·¾¶(ÀýÈ磺/home/mysql/var/crawlerfeedsky/aaaa.MYI)
Èç¹û»¹²»ÐУ¬¾Í-f Ç¿ÖÆÐÞ¸´
ÖØÐÂÆô¶¯mysql£¬ÎÊÌâ½â¾ö¡£
ÎÊÌâ·ÖÎö£º
1¡¢´íÎó²úÉúÔÒò£¬ÓÐÍøÓÑ˵ÊÇÆµ·±²éѯºÍ¸üÐÂdede_archives±íÔì³ÉµÄË÷Òý´íÎó£¬ÒòΪÎÒµÄÒ³ÃæÃ»Óо²Ì¬Éú³É£¬¶øÊǶ¯Ì¬Ò³Ã棬Òò´Ë±È½ÏͬÒâÕâÖÖ˵ ·¨¡£»¹ÓÐ˵·¨ÎªÊÇMYSQLÊý¾Ý¿âÒòΪijÖÖÔÒò¶øÊܵ½ÁËË𻵣¬È磺Êý¾Ý¿â·þÎñÆ÷Í»·¢ÐԵĶϵ硢ÔÚÌáÔÚÊý¾Ý¿â±íÌṩ·þÎñʱ¶Ô±íµÄÔÎļþ½øÐÐijÖÖ²Ù×÷¶¼ÓпÉÄÜ µ¼ÖÂMYSQLÊý¾Ý¿â±í±»Ë𻵶øÎÞ·¨¶ÁÈ¡Êý¾Ý¡£×ÜÖ®¾ÍÊÇÒòΪijЩ²»¿É²âµÄÎÊÌâÔì³É±íµÄË𻵡£
ÎÊÌâµÄ±àºÅΪ145
2¡¢ÎÊÌâ½â¾ö°ì·¨¡£
µ±ÄãÊÔͼÐÞ¸´Ò»¸ö±»ÆÆ»µµÄ±íµÄÎÊÌâʱ£¬ÓÐÈýÖÖÐÞ¸´ÀàÐÍ¡£Èç¹ûÄãµÃµ½Ò»¸ö´íÎóÐÅÏ¢Ö¸³öÒ»¸öÁÙʱÎļþ²»Äܽ¨Á¢£¬É¾³ýÐÅÏ¢ËùÖ¸³öµÄÎļþ²¢ÔÙÊÔÒ»´Î--Õâͨ³£ÊÇÉÏ Ò»´ÎÐÞ¸´²Ù×÷ÒÅÁôÏÂÀ´µÄ¡£
ÕâÈýÖÖÐÞ¸´·½·¨ÈçÏÂËùʾ£º
% myisamchk --recover --quick /path/to/tblName
% myisamchk --recover /path/to/tblName
% myisamchk --safe-recover /path/to/tblName
µÚÒ»ÖÖÊÇ×î¿ìµÄ£¬ÓÃÀ´ÐÞ¸´×îÆÕͨµÄÎÊÌ⣻¶ø×îºóÒ»ÖÖÊÇ×îÂýµÄ£¬ÓÃÀ´ÐÞ¸´Ò»Ð©ÆäËü·½·¨Ëù²»ÄÜÐÞ¸´µÄÎÊÌâ¡£
¼ì²éºÍÐÞ¸´MySQLÊý¾ÝÎļþ
Èç¹ûÉÏÃæµÄ·½·¨ÎÞ·¨ÐÞ¸´Ò»¸ö±»Ëð»µµÄ±í£¬ÔÚÄã·ÅÆú֮ǰ£¬Ä㻹¿ÉÒÔÊÔÊÔÏÂÃæÕâÁ½¸ö¼¼ÇÉ£º
Èç¹ûÄ㻳ÒɱíµÄË÷ÒýÎļþ(*.MYI)·¢ÉúÁ˲»¿ÉÐÞ¸´µÄ´íÎó£¬ÉõÖÁÊǶªÊ§ÁËÕâ¸öÎļþ£¬Äã¿ÉÒÔʹÓÃÊý¾ÝÎļþ(*.MYD)ºÍÊý¾Ý¸ñʽÎļþ(*.frm)ÖØÐ Éú³ÉËü¡£Ê×ÏÈÖÆ×÷Ò»¸öÊý¾ÝÎļþ(tblName.MYD)µÄ¿½±´¡£ÖØÆôÄãµÄMySQL·þÎñ²¢Á¬½Óµ½Õâ¸ö·þÎñÉÏ£¬Ê¹ÓÃÏÂÃæµÄÃüÁîɾ³ý±íµÄÄÚÈÝ£º
mysql> DELETE FROM tblName;
ÔÚɾ³ý±íµÄÄÚÈݵÄͬʱ£¬»á½¨Á¢Ò»¸öеÄË÷ÒýÎļþ¡£Í˳öµÇ¼²¢ÖØÐ¹رշþÎñ£¬È»ºóÓÃÄã¸Õ²Å±£´æµÄÊý¾ÝÎļþ(tblName.MYD)¸²¸ÇеÄ(¿Õ)Êý¾ÝÎÄ ¼þ¡£×îºó£¬Ê¹ÓÃmyisamchkÖ´Ðбê×¼µÄÐÞ¸´(ÉÏÃæµÄµÚ¶þÖÖ·½·¨)£¬¸ù¾Ý±íµÄÊý¾ÝµÄÄÚÈݺͱíµÄ¸ñʽÎļþÖØÐÂÉú³ÉË÷ÒýÊý¾Ý¡£
Èç¹ûÄãµÄ±íµÄ¸ñʽÎļþ(tblName.frm)¶ªÊ§ÁË»òÕßÊÇ·¢ÉúÁ˲»¿ÉÐÞ¸´µÄ´íÎ󣬵«ÊÇÄãÇå³þÈçºÎʹÓÃÏàÓ¦µÄCREATE TABLEÓï¾äÀ´ÖØÐÂÉú³ÉÕâÕÅ±í£¬Äã¿ÉÒÔÖØÐÂÉú³ÉÒ»¸öеÄ.frmÎļþ²¢ºÍÄãµÄÊý¾ÝÎļþºÍË÷ÒýÎļþ(Èç¹ûË÷ÒýÎļþÓÐÎÊÌ⣬ʹÓÃÉÏÃæµÄ·½·¨Öؽ¨Ò»¸öеÄ)Ò» ÆðʹÓá£Ê×ÏÈÖÆ×÷Ò»¸öÊý¾ÝºÍË÷ÒýÎļþµÄ¿½±´£¬È»ºóɾ³ýÔÀ´µÄÎļþ(ɾ³ýÊý¾ÝĿ¼ÏÂÓйØÕâ¸ö±íµÄËùÓмǼ)¡£
Æô¶¯MySQL·þÎñ²¢Ê¹Óõ±³õµÄCREATE TABLEÎļþ½¨Á¢Ò»¸öÐÂµÄ±í¡£ÐµÄ.frmÎļþÓ¦¸Ã¿ÉÒÔÕý³£¹¤×÷ÁË£¬µ«ÊÇ×îºÃÄ㻹ÊÇÖ´ÐÐһϱê×¼µÄÐÞ¸´(ÉÏÃæµÄµÚ¶þÖÖ·½·¨)¡£
3¡¢myisamchk¹¤¾ß½éÉÜ£¨¼ûmysqlµÄ¹Ù·½Êֲᣩ
¿ÉÒÔʹÓÃmyisamchkʵÓóÌÐòÀ´»ñµÃÓйØÊý¾Ý¿â±íµÄÐÅÏ¢»ò¼ì²é¡¢ÐÞ¸´¡¢ÓÅ»¯ËûÃÇ¡£myisamchkÊÊÓÃMyISAM±í(¶ÔÓ¦.MYIºÍ.MYDÎÄ ¼þµÄ±í)¡£
µ÷ÓÃmyisamchkµÄ·½·¨£º
shell> myisamchk [options] tbl_name ...
optionsÖ¸¶¨ÄãÏëÈÃmyisamchk×öʲô¡£ÔÚºóÃæÃèÊöËüÃÇ¡£»¹¿ÉÒÔͨ¹ýµ÷ÓÃmyisamchk --helpµÃµ½Ñ¡ÏîÁÐ±í¡£
tbl_nameÊÇÄãÏëÒª¼ì²é»òÐÞ¸´µÄÊý¾Ý¿â±í¡£Èç¹ûÄã²»ÔÚÊý¾Ý¿âĿ¼µÄij´¦ÔËÐÐmyisamchk£¬Äã±ØÐëÖ¸¶¨Êý¾Ý¿âĿ¼µÄ·¾¶£¬ÒòΪ myisamchk²»ÖªµÀÄãµÄÊý¾Ý¿âλÓÚÄĶù¡£Êµ¼ÊÉÏ£¬myisamchk²»ÔÚºõÄãÕýÔÚ²Ù×÷µÄÎļþÊÇ·ñλÓÚÒ»¸öÊý¾Ý¿âĿ¼£»Äã¿ÉÒÔ½«¶ÔÓ¦ÓÚÊý¾Ý¿â±íµÄÎļþ ¿½±´µ½±ð´¦²¢ÇÒÔÚÄÇÀïÖ´Ðлָ´²Ù×÷¡£
Èç¹ûÄãÔ¸Ò⣬¿ÉÒÔÓÃmyisamchkÃüÁîÐÐÃüÃû¼¸¸ö±í¡£»¹¿ÉÒÔͨ¹ýÃüÃûË÷ÒýÎļþ(Óá° .MYI¡±ºó׺)À´Ö¸¶¨Ò»¸ö±í¡£ËüÔÊÐíÄãͨ¹ýʹÓÃģʽ¡°*.MYI¡±Ö¸¶¨ÔÚÒ»¸öĿ¼ËùÓÐµÄ±í¡£ÀýÈ磬Èç¹ûÄãÔÚÊý¾Ý¿âĿ¼£¬¿ÉÒÔÕâÑùÔÚĿ¼Ï¼ì²éËùÓÐµÄ MyISAM±í£º
shell> myisamchk *.MYI
Èç¹ûÄã²»ÔÚÊý¾Ý¿âĿ¼Ï£¬¿Éͨ¹ýÖ¸¶¨µ½Ä¿Â¼µÄ·¾¶¼ì²éËùÓÐÔÚÄÇÀïµÄ±í£º
shell> myisamchk /path/to/database_dir/*.MYI
ÄãÉõÖÁ¿ÉÒÔͨ¹ýΪMySQLÊý¾ÝĿ¼µÄ·¾¶Ö¸¶¨Ò»¸öͨÅä·ûÀ´¼ì²éËùÓеÄÊý¾Ý¿âÖеÄËùÓÐ±í£º
shell> myisamchk /path/to/datadir/*/*.MYI
ÍÆ¼öµÄ¿ìËÙ¼ì²éËùÓÐMyISAM±íµÄ·½Ê½ÊÇ£º
shell> myisamchk --silent --fast /path/to/datadir/*/*.MYI
Èç¹ûÄãÏëÒª¼ì²éËùÓÐMyISAM±í²¢ÐÞ¸´ÈÎºÎÆÆ»µµÄ±í£¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ
shell> myisamchk --silent --force --fast --update-state \
-O key_buffer=64M -O sort_buffer=64M \
-O read_buffer=1M -O write_buffer=1M \
/path/to/datadir/*/*.MYI
¸ÃÃüÁî¼Ù¶¨ÄãÓдóÓÚ64MBµÄ×ÔÓÉÄÚ´æ¡£¹ØÓÚÓÃmyisamchk·ÖÅäÄÚ´æµÄÏêϸÐÅÏ¢£¬²Î¼û5.9.5.5½Ú£¬¡°myisamchkÄÚ´æÊ¹Óᱡ£
µ±ÄãÔËÐÐmyisamchkʱ£¬±ØÐëÈ·±£ÆäËü³ÌÐò²»Ê¹ÓÃ±í¡£·ñÔò£¬µ±ÄãÔËÐÐmyisamchkʱ£¬»áÏÔʾÏÂÃæµÄ´íÎóÏûÏ¢£º
warning: clients are using or haven't closed the table properly
Õâ˵Ã÷ÄãÕý³¢ÊÔ¼ì²éÕý±»ÁíÒ»¸ö»¹Ã»ÓйرÕÎļþ»òÒѾÖÕÖ¹¶øÃ»ÓÐÕýÈ·µØ¹Ø±ÕÎļþµÄ³ÌÐò(ÀýÈçmysqld·þÎñÆ÷)¸üÐÂµÄ±í¡£
Èç¹ûmysqldÕýÔÚÔËÐУ¬Äã±ØÐëͨ¹ýFLUSH TABLESÇ¿ÖÆÇå¿ÕÈÔÈ»ÔÚÄÚ´æÖеÄÈκαíÐ޸ġ£µ±ÄãÔËÐÐmyisamchkʱ£¬±ØÐëÈ·±£ÆäËü³ÌÐò²»Ê¹ÓÃ±í¡£±ÜÃâ¸ÃÎÊÌâµÄ×îÈÝÒ׵ķ½·¨ÊÇʹÓÃCHECK TABLE¶ø²»ÓÃmyisamchkÀ´¼ì²é±í
µ±È»ÄãÒ²¿ÉÒÔÓÃPHPMYADMIN ÐÞ¸´
²½ÖèÈçÏ£º
´ò¿ªÊý¾Ý¿â£¬Ñ¡ÔñÒªÐÞ¸´µÄ±í£¬ÔÚϱßÑ¡ÏîÀïÑ¡Ôñ ÐÞ¸´±í