>  기사  >  데이터 베이스  >  mysql에서 ibd 파일의 데이터를 복구하는 방법

mysql에서 ibd 파일의 데이터를 복구하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-12-15 14:00:197493검색

IBD 파일에서 데이터를 복원하는 Mysql 방법: 먼저 원본 테이블과 동일한 테이블 구조를 가진 테이블을 생성한 다음 새로 생성된 테이블 공간을 삭제한 다음 [.ibd] 파일을 복사하여 대상 데이터베이스 폴더에 복원합니다. , 파일 권한을 수정하고 마지막으로 테이블스페이스를 가져옵니다.

mysql에서 ibd 파일의 데이터를 복구하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql5.6&&mysql5.7 버전, Dell G3 컴퓨터.

관련 무료 학습 권장 사항: mysql 데이터베이스 (동영상)

Mysql에서 ibd 파일의 데이터를 복구하는 방법:

1.원본 테이블 구조와 동일한 테이블 구조를 사용하여 테이블을 만듭니다. :

CREATE TABLE <table_name> ...;

2. 새로 생성된 테이블스페이스 삭제:

ALTER TABLE <table_name> DISCARD TABLESPACE;

3. 복원할 <table_name>.ibd</table_name> 파일을 대상 데이터베이스 폴더에 복사하고 파일 권한을 수정합니다. 2d8f501bba7dbcabf64f6c8aceccc3b7.ibd文件copy到目标数据库文件夹下,并修改文件权限:

cp <table_name>.ibd /var/lib/mysql/<database_name>
cd /var/lib/mysql/<database_name>
chown mysql:mysql <table_name>.ibd

4、导入表空间:

ALTER TABLE <table_name> IMPORT TABLESPACE;

也可能出现如下问题:

1、mysql 1808错误:

Error Code: 1808. Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, <table_name>.ibd file has ROW_TYPE_COMPACT row format.)

这是由于mysql 5.6的文件恢复到mysql 5.7版本导致的错误,需要在建表语句后面添加ROW_FORMAT=COMPACT

create table test(id int, name varchar(10)) row_format=compact;

4. 테이블스페이스 가져오기:

Error Code:1812. Tablespace is missing for table <table_name>

다음과 같은 문제도 발생할 수 있습니다.

1.mysql 1808 error:
rrreee

mysql 5.6 파일을 mysql 5.7 버전으로 복원하면서 발생하는 오류입니다. ROW_FORMAT=COMPACT, 아래와 같이: rrreee2, mysql 1812 error:
rrreee

복사된 ibd 파일이 승인되지 않았습니다. 권한을 실행하려면 두 번째 단계를 따르세요.
🎜관련 무료 학습 권장사항: 🎜 PHP 프로그래밍 🎜(동영상) 🎜🎜🎜

위 내용은 mysql에서 ibd 파일의 데이터를 복구하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.