개발자

mysql .frm 파일과 .ibd 파일로 디비 복구

2023년 11월 17일조회 175

frm 파일과 .ibd 파일만 가지고 디비 복구하는법 정확히 아시는분 있을까요ㅠ 리눅스가 아니고 윈도우에서요ㅠㅠ (구글검색으로 나오는 왠만한건 다 시도해봤습니다만 윈도우에서 복구하는건 정보가 많지 않기도하고... 제가 못하는것일수도있지만 잘안되더라고요)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 11월 17일

`.frm`과 `.ibd` 파일만으로 MySQL 데이터베이스를 복구하는 과정은 꽤 복잡할 수 있습니다. 다음 단계를 따라해보세요. 1. MySQL 서버를 중지합니다. 2. 원래의 `.ibd` 파일을 잃어버렸다면, 아래의 방법을 사용하면 됩니다. - 먼저, 원래 데이터베이스(`testdb`)가 있던 위치에 새로운 데이터베이스 폴더를 생성합니다. - 그런 다음, 여러분이 가지고 있는 `.frm` 파일들을 넣습니다. 3. MySQL 서버가 실행되는 위치에서 명령창을 열고 아래의 명령어를 입력하여 MySQL을 시작합니다: ``` mysqld --innodb-force-recovery=6 ``` 4. 새로운 터미널 창을 열고 (`mysql.exe`가 있는 위치에서) 아래의 명령어를 차례대로 입력합니다: ``` mysql -u root -p use testdb; (testdb는 여러분의 데이터베이스 이름) SHOW TABLES; ``` 5. 테이블 이름들이 나오면 이제 InnoDB 태그 테이블로부터 `.ibd` 파일들을 분리해야 합니다: ``` ALTER TABLE table_name DISCARD TABLESPACE; ``` 6. 이제 원본 `.ibd` 파일들을 사용할 수 있게 되었습니다. 만약 원본 `.ibd` 파일이 있으면, 방금 분리한 빈 `.ibd` 파일들을 삭제하고 원본 `.ibd` 파일을 그 위치에 복사해두면 됩니다. 7. 이제 이전 단계에서 언급한 커맨드를 다시 실행하여 테이블과 `.ibd` 파일을 재연결합니다: ``` ALTER TABLE table_name IMPORT TABLESPACE; ``` 주의: 꼭 백업 데이터를 가지고 있는 곳에서 작업하는 것이 좋습니다. 위의 단계는 보통의 경우에 적용되며, 일부 상황에서는 이런 프로세스가 동작하지 않을 수도 있습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!