간혹가다가 잘 돌아가던 서버 페이지가 DB쪽의 문제로 다음과 같은 오류가 생기곤 합니다.
Got error 127 from table handler
※ 아래 참고
shell> perror 126 127 132 134 135 136 141 144 145
126 = Index file is crashed / Wrong file format
127 = Record-file is crashed
132 = Old database file
134 = Record was already deleted (or record file crashed)
135 = No more room in record file
136 = No more room in index file
141 = Duplicate unique key or constraint on write or update
144 = Table is crashed and last repair failed
145 = Table was marked as crashed and should be repaired
다음은 위와 같이 손상된 DB 테이블을 복구하는 mysql 명령어 입니다.
DB에서
mysql> repair table product; //"product"는 오류가 생긴 테이블 입니다.
하시기 전에
mysql>analyze table product;를 실행하면 테이블에 대한 보고서가 작성됩니다.
그리고 나서
mysql>repair table product;를 실행하면 복원이 됩니다.
예)
mysql> analyze table product;
+-------------+---------+----------+-----------------------------+
| Table | Op | Msg_type | Msg_text |
+-------------+---------+----------+-----------------------------+
| kms.product | analyze | status | Table is already up to date |
+-------------+---------+----------+-----------------------------+
1 row in set (0.06 sec)
mysql> repair table product;
+-------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-------------+--------+----------+----------+
| kms.product | repair | status | OK |
+-------------+--------+----------+----------+
1 row in set (0.10 sec)