Formatting code for MysqlCorruption


show source only

{{parent page="MySQL"}}

Read: http://dev.mysql.com/doc/refman/5.0/en/repair.html

===Corrupted mysql datafile===
When doing a query, if it returns something like

%%
Can't find file tbl_name.MYI (Errcode: nnn)
%%

Do a **perror nnn**, for instance
%%
shell> perror 126 127 132 134 135 136 141 144 145
MySQL error code 126 = Index file is crashed
MySQL error code 127 = Record-file is crashed
MySQL error code 132 = Old database file
MySQL error code 134 = Record was already deleted (or record file crashed)
MySQL error code 135 = No more room in record file
MySQL error code 136 = No more room in index file
MySQL error code 141 = Duplicate unique key or constraint on write or update
MySQL error code 144 = Table is crashed and last repair failed
MySQL error code 145 = Table was marked as crashed and should be repaired
%%

===myisamchk===
If you want to check all MyISAM tables and repair any that are corrupted, you can use the following command:
%%
myisamchk --silent --force --fast --update-state \
--key_buffer_size=64M --sort_buffer_size=64M \
--read_buffer_size=1M --write_buffer_size=1M \
/path/to/datadir/*/*.MYI
%%
If the error code is 145, do a **myismchk /path/to/db.MYI** will fix the error.
If the error code is 135, do

%%
ALTER TABLE tbl_name MAX_ROWS=xxx AVG_ROW_LENGTH=yyy;
%%
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki