ibdata 및 frm 파일에서 InnoDB MySQL 테이블 데이터를 복구하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-09-12 20:17:00
원래의
1027명이 탐색했습니다.

How to Recover InnoDB MySQL Table Data from ibdata and frm Files?

MySQL Server는 InnoDB와 MyISAM이라는 두 가지 유형의 데이터베이스 스토리지 엔진을 사용합니다. InnoDB 스토리지 엔진을 사용하면 MySQL Server는 데이터와 인덱스를 .ibdata 파일에 저장하고 테이블 스키마를 .frm 파일에 저장합니다. InnoDB 테이블이 손상된 경우 전체 데이터베이스 백업을 복원하는 대신 .ibdata 및 .frm 파일에서 InnoDB MySQL 테이블의 데이터를 쉽게 복구할 수 있습니다. 이 기사에서는 MySQL 서버의 .ibdata 및 .frm 파일에서 데이터를 복구하는 방법에 대해 설명합니다.

ibdata 및 frm 파일에서 InnoDB 테이블을 복구하는 단계별 프로세스

다음은 MySQL 서버의 .frm 및 .ibdata 파일에서 InnoDB 테이블의 데이터를 복구하는 단계별 프로세스입니다.

  • 먼저 새로운 MySQL 데이터베이스를 생성해야 합니다. 이를 위해 PhpMyAdmin에 로그인하여 데이터베이스 옵션을 클릭하고 데이터베이스 이름(예: 클라이언트)을 입력한 다음 생성을 클릭하세요.

  • 다음으로 XAMPP 설치 폴더로 이동하여 새로 생성된 데이터베이스를 확인하세요. 기본 위치는 C:xamppmysqldata입니다.

  • 새 데이터베이스를 열면 테이블이 하나도 없다는 것을 알 수 있습니다. 테이블을 생성하려면 테이블의 스키마가 필요합니다. 업데이트된 백업 파일이 있으면 데이터베이스의 스키마와 이름을 가져올 수 있습니다. 동일한 이름을 사용하여 테이블을 생성할 수 있습니다. 하지만 백업이 없으면 .frm 파일을 사용하여 테이블의 스키마를 추출할 수 있습니다. 테이블 스키마를 추출하는 데 도움이 되는 신뢰할 수 있는 다양한 유틸리티가 온라인에서 제공됩니다.

  • 이제 동일한 스키마를 사용하여 새로 생성된 데이터베이스에 테이블을 생성합니다.

  • 테이블을 생성하면 데이터베이스 폴더에 새 .frm 및 .ibd 파일이 자동으로 생성됩니다.

  • 다음으로 XAMPP 설치 폴더로 이동하여 .ibd 파일을 삭제하세요.

  • 그런 다음 원본 .ibd 파일을 복사하여 새 데이터베이스에 붙여넣으세요.

  • 원본 .ibd 파일을 복사하기 전에 아래 쿼리를 실행하세요.
    ALTER TABLE 테이블_이름 DISCARD TABLESPACE;
    참고: DISCARD TABLESPACE 명령은 MySQL 테이블과 테이블스페이스 간의 링크를 끊어 불일치 및 기타 문제를 방지하는 데 도움이 됩니다.

  • 다음으로 아래 명령을 사용하여 MySQL 테이블과 테이블스페이스 간의 링크를 복원합니다.
    ALTER TABLE 테이블_이름 IMPORT TABLESPACE;
    참고: .frm 및 .ibd 파일을 사용하여 한 번에 하나의 테이블에서 데이터를 복원할 수 있습니다. 여러 테이블을 복원해야 하는 경우 각 테이블에 대한 모든 단계를 수동으로 수행해야 하므로 시간이 많이 걸립니다.

InnoDB MySQL 테이블을 복구하는 대체 솔루션

MySQL Server 데이터베이스에서 여러 InnoDB 테이블을 한 번에 빠르고 쉽게 복원하려면 전문 MySQL 데이터베이스 복구 도구를 사용할 수 있습니다. Stellar Repair for MySQL은 손상된 MySQL 데이터베이스에서 InnoDB 테이블과 기본 키, 뷰, 트리거 등과 같은 기타 데이터를 복구할 수 있는 사용하기 쉬운 도구 중 하나입니다. 이 도구는 몇 가지 간단한 단계만으로 신속하게 수리 및 복구 작업을 수행하는 데 도움이 되는 풍부하고 대화형 사용자 인터페이스를 제공합니다.

MySQL용 Stellar Repair의 주요 기능

Stellar Repair for MySQL의 주요 기능은 다음과 같습니다.

  • MySQL Server 8.0.36 이하 버전 지원

  • 모든 MariaDB 버전 11.3.2까지 지원

  • 삭제된 레코드 및 파티션 테이블을 포함하여 MySQL 데이터베이스의 모든 데이터를 복원합니다

  • 완벽한 정밀도로 MySQL 테이블 복구

  • 저장 전 복구된 데이터에 대한 향상된 미리보기 제공

  • 여러 데이터베이스를 동시에 복구 가능

  • 복구된 MySQL 데이터베이스를 MySQL, MariaDB, SQL 스크립트, CSV, HTML 및 XLS와 같은 다양한 형식으로 저장할 수 있습니다

  • CentOS 7(64비트)/Red Hat Enterprise Linux 7(64비트) 및 Ubuntu 16.04(32비트 및 64비트)/Ubuntu 18.04 및 Linux 운영 체제 모두와 호환됩니다. 19.10(64비트)

결론

위에서는 ibdata 및 .frm 파일에서 InnoDB MySQL 테이블 데이터를 복구하는 자세한 단계별 프로세스를 설명했습니다. 그러나 모든 테이블에 대해 모든 단계를 수동으로 수행해야 하므로 여러 테이블을 복원하는 데는 적합하지 않습니다. 또는 Stellar Repair for MySQL과 같은 전문 MySQL 데이터베이스 복구 도구를 사용하면 손상된 데이터베이스 파일에서 테이블, 기본 키, 뷰, 트리거 등을 포함한 모든 개체를 완전한 무결성으로 추출하는 데 도움이 될 수 있습니다. 이 도구는 InnoDB 및 MyISAM 스토리지 엔진을 모두 사용하여 생성된 데이터베이스 복구를 지원합니다. 이는 MySQL 데이터베이스의 광범위한 손상 관련 오류를 해결하도록 설계되었습니다. 데이터베이스 파일을 스캔하고 복구 가능한 데이터를 미리 볼 수 있는 Stellar Repair for MySQL의 무료 데모 버전도 제공됩니다.

위 내용은 ibdata 및 frm 파일에서 InnoDB MySQL 테이블 데이터를 복구하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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