본문으로 건너뛰기

mysqlcheck로 테이블 복구하는 방법은 무엇인가요?

💡 요약 정리

  • mysqlcheck 명령어를 이용하면 전체 DB 또는 특정 DB/테이블에 대한 점검과 복구가 가능합니다.
  • 옵션 --auto-repair를 사용하면 오류가 발생한 테이블을 자동 복구할 수 있습니다.
  • MySQL에 직접 접속한 후 SQL 쿼리로도 점검과 복구를 수행할 수 있습니다.
  • 모든 명령어는 root 권한으로 실행해야 하며, MySQL 패스워드를 입력해야 합니다.

1. mysqlcheck 명령어 사용법

서버 터미널에서 root 사용자로 접속 후 아래 명령어를 실행합니다.

① 전체 데이터베이스 복구

[root@cafe24 /]# mysqlcheck -Aao --auto-repair -u root -p패스워드
  • 모든 데이터베이스를 점검하고 오류가 있으면 자동으로 복구합니다.

② 특정 데이터베이스 복구

[root@cafe24 /]# mysqlcheck --auto-repair -u root -p패스워드 DB명
  • 해당 데이터베이스(DB명) 내의 모든 테이블을 자동 복구합니다.

③ 특정 테이블 복구

[root@cafe24 /]# mysqlcheck --auto-repair -u root -p패스워드 DB명 테이블명
  • 지정한 데이터베이스 내의 특정 테이블만 복구합니다.

2. MySQL 접속 후 쿼리로 복구

명령줄에서 MySQL에 접속한 뒤 SQL 쿼리를 이용하여 테이블을 복구할 수 있습니다.

[root@cafe24 /]# mysql -u root -p패스워드

MySQL 프롬프트에서 아래 명령을 입력하세요.

mysql> use DB명;
mysql> show tables;
mysql> check table 테이블명;
mysql> repair table 테이블명;
  • use DB명; : 원하는 데이터베이스를 선택합니다.
  • show tables; : 현재 DB에 존재하는 테이블 목록을 확인합니다.
  • check table 테이블명; : 지정된 테이블에 문제가 있는지 점검합니다.
  • repair table 테이블명; : 테이블의 문제가 확인될 경우 자동 복구합니다.