[에러] ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine

  • systemddc
  • Mysql
  • 12870
  • 0

[에러] ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine


CASE 1

ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine

CASE 2

ERROR 1814 (HY000): Tablespace has been discarded for table [테이블명]



2. 해결 방안 

전제: 

  - 해당 테이블의 엔진은 InnoDB 이며 ibd, frm 파일이 존재함.

  - 테이블의 스키마 구조를 알아야 함.


CASE 1

- 서비스 종료 후 ibd 파일, frm 파일 백업

- 서비스 시작 후 해당 테이블 drop

- 테이블 재생성

- 테이블스페이스 변경

ALTER TABLE [테이블명] DISCARD TABLESPACE ;
system cp /백업경로/[테이블명].ibd [데이터베이스 데이터 디렉토리]
ALTER TABLE [테이블명] IMPORT TABLESPACE ;


CASE 2

- IMPORT TABLESPACE 

ALTER TABLE [테이블명] IMPORT TABLESPACE ;



출처: https://adbancedteam.tistory.com/194 [aDBanced Team]