repair table 문으로 MySQL 테이블 복구 방법은 무엇인가요?
💡 요약 정리
- MySQL 쿼리 실행 시 "Got error 127 from storage engine" 오류는 데이터 손상이 원인일 수 있습니다.
- 이 문제는
Analyze Table과Repair Table명령어를 사용해 복구할 수 있습니다. - 복구 작업은 테이블명 지정이 필요하며, 복구 결과를 통해 문제 해결 여부를 확인할 수 있습니다.
- 테이블 복구 전에는 반드시 데이터 백업을 권장합니다.
1. 복구 절차
아래 순서에 따라 테이블을 점검하고 복구할 수 있습니다.
Analyze Table `Table Name`
Repair Table `Table Name`
2. 복구 예제
다음은 실제 복구 작업의 예시입니다.
mysql> SELECT COUNT(A.IDX) AS 'CNT' FROM PRO_QNA_T A WHERE A.TYPE > 0;
ERROR 1030 (HY000): Got error 127 from storage engine
mysql> Analyze Table PRO_QNA_T;
+--------------------+---------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+--------------------+---------+----------+----------+
| ihelpers.PRO_QNA_T | analyze | status | OK |
+--------------------+---------+----------+----------+
1 row in set (0.01 sec)
mysql> Repair Table PRO_QNA_T;
+--------------------+--------+----------+--------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+--------------------+--------+----------+--------------------------------------------+
| ihelpers.PRO_QNA_T | repair | info | Key 1 - Found wrong stored record at 24884 |
| ihelpers.PRO_QNA_T | repair | warning | Number of rows changed from 2187 to 2186 |
| ihelpers.PRO_QNA_T | repair | status | OK |
+--------------------+--------+----------+--------------------------------------------+
3 rows in set (0.17 sec)
mysql> Analyze Table PRO_QNA_T;
+--------------------+---------+----------+-----------------------------+
| Table | Op | Msg_type | Msg_text |
+--------------------+---------+----------+-----------------------------+
| ihelpers.PRO_QNA_T | analyze | status | Table is already up to date |
+--------------------+---------+----------+-----------------------------+
1 row in set (0.00 sec)
mysql> SELECT COUNT(A.IDX) AS 'CNT' FROM PRO_QNA_T A WHERE A.TYPE > 0;
+------+
| CNT |
+------+
| 2186 |
+------+
1 row in set (0.01 sec)