개발자
frm 파일과 .ibd 파일만 가지고 디비 복구하는법 정확히 아시는분 있을까요ㅠ 리눅스가 아니고 윈도우에서요ㅠㅠ (구글검색으로 나오는 왠만한건 다 시도해봤습니다만 윈도우에서 복구하는건 정보가 많지 않기도하고... 제가 못하는것일수도있지만 잘안되더라고요)
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 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; ``` 주의: 꼭 백업 데이터를 가지고 있는 곳에서 작업하는 것이 좋습니다. 위의 단계는 보통의 경우에 적용되며, 일부 상황에서는 이런 프로세스가 동작하지 않을 수도 있습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!