Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

명령줄에서 MySQL 테이블을 복구하는 방법은 무엇입니까?

<시간/>

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)