> 데이터 베이스 > MySQL 튜토리얼 > FRM 및 IBD 파일에서만 MySQL 테이블 구조를 복구할 수 있습니까?

FRM 및 IBD 파일에서만 MySQL 테이블 구조를 복구할 수 있습니까?

Barbara Streisand
풀어 주다: 2025-01-07 19:06:41
원래의
332명이 탐색했습니다.

Can We Recover MySQL Table Structure from FRM and IBD Files Only?

FRM 및 IBD 파일에서만 MySQL 테이블 구조 복구

질문:

사용자는 데이터베이스를 복원해야 하지만 FRM 및 IBD 파일에만 액세스할 수 있는 상황에 자주 직면합니다.

테이블 구조를 복원할 수 있나요?

예, IB_LOG 파일이 없어도 FRM 파일에서 테이블 구조를 복원할 수 있습니다.

단계:

1. FRM 파일에서 SQL 생성문 추출:

  • MySQL 유틸리티를 설치합니다.
  • mysqlfrm --diagnostic 명령을 사용하여 각 FRM 파일에 대한 SQL 생성 문을 생성합니다.
  • 출력에는 다음과 유사한 명령문이 포함됩니다.
<code class="language-sql">CREATE TABLE `example_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) NOT NULL,
  `photo_url` varchar(150) NOT NULL,
  `password` varchar(600) NOT NULL,
  `active` smallint(6) NOT NULL,
  `plan` int(11) NOT NULL,
  PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;</code>
로그인 후 복사

2. SQL 문을 사용하여 테이블 생성:

  • 기존 테이블을 삭제합니다(필요한 경우).
  • 1단계에서 얻은 SQL create 문을 실행하여 원본 테이블과 동일한 구조의 테이블을 생성합니다.

3. 데이터 복구:

  • 새 테이블 데이터를 삭제하려면 다음 명령을 사용하세요.
<code class="language-sql">ALTER TABLE example_table DISCARD TABLESPACE;</code>
로그인 후 복사
  • 테이블 디렉터리에서 해당 IBD 파일을 삭제합니다.
  • 원본 IBD 파일을 다음 디렉토리에 복사하세요.
<code class="language-bash">cp backup/example_table.ibd /path/to/example_table.idb</code>
로그인 후 복사
  • IBD 파일에 올바른 소유권과 권한이 있는지 확인하세요.
  • 이전 데이터 가져오기:
<code class="language-sql">ALTER TABLE example_table IMPORT TABLESPACE;</code>
로그인 후 복사

위 내용은 FRM 및 IBD 파일에서만 MySQL 테이블 구조를 복구할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿