MySQL 테이블 복구는 InnoDB가 아닌 MyISAM 엔진 유형에만 적용됩니다. 따라서 엔진 유형을 MyISAM으로 변경해야 합니다.
다음은 예시입니다.
테이블 생성
mysql> create table RepairTableDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.51 sec)
이 테이블을 엔진 유형 MyISAM으로 변환하려면 ALTER를 사용하십시오.
mysql> ALTER TABLE RepairTableDemo ENGINE = MyISAM; Query OK, 0 rows affected (1.14 sec) Records: 0 Duplicates: 0 Warnings: 0
테이블에 레코드 삽입하기.
mysql> insert into RepairTableDemo values(1,'John'),(2,'Carol'),(3,'Johnson'); Query OK, 3 rows affected (0.06 sec) Records: 3 Duplicates: 0 Warnings: 0
모든 기록을 표시합니다.
mysql> select *from RepairTableDemo;
다음은 출력입니다.
+------+---------+ | id | name | +------+---------+ | 1 | John | | 2 | Carol | | 3 | Johnson | +------+---------+ 3 rows in set (0.00 sec)
이제 테이블을 복구하는 구문을 살펴보겠습니다.
REPAIR TABLE yourTableName;
다음은 쿼리입니다 -
mysql> REPAIR TABLE RepairTableDemo;
다음은 출력입니다. 수리 상태가 정상임을 나타냅니다.
+--------------------------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +--------------------------+--------+----------+----------+ | business.repairtabledemo | repair | status | OK | +--------------------------+--------+----------+----------+ 1 row in set (0.10 sec)