MySQL 데이터 파일이 실수로 삭제된 경우 상황에 따라 복구 방법이 달라집니다. 바이너리 로그가 활성화되면 mysqlbinlog 명령을 통해 SQL 문을 검색할 수 있습니다. 백업이 있는 경우 복구 도구를 사용하여 파일을 복원할 수 있습니다. 백업이 없으면 데이터 사전을 사용하여 파일을 복원할 수 있습니다. innodb_table_stats 테이블을 쿼리하여 메타데이터를 얻습니다. 삭제된 .ibd 파일 헤더를 복사하고 테이블스페이스 .ibd 파일 헤더를 덮어씁니다. 파일을 다시 로드하려면 MySQL 서버를 다시 시작하세요.
MySQL에서 삭제된 데이터 파일을 복구하는 방법
중요한 MySQL 데이터 파일을 실수로 삭제한 경우 해당 파일을 복구하는 것이 중요합니다. 이 튜토리얼에서는 복구 프로세스를 단계별로 안내합니다.
1단계: 바이너리 로그 확인
삭제하기 전에 바이너리 로그를 활성화한 경우 다음 명령을 사용하여 삭제된 데이터의 SQL 문을 검색할 수 있습니다.
mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" /path/to/binary-log-file | grep 'table_name'
2단계: 복구 도구 사용
바이너리 로깅을 활성화하지 않은 경우 MySQL Enterprise Backup 또는 Percona XtraBackup과 같은 복구 도구를 사용하여 백업에서 파일을 복원할 수 있습니다. 영향을 받은 파일을 복원할 수 있을 만큼 세분화된 백업이 있는지 확인하십시오.
3단계: 데이터 사전을 사용하여 파일 복구
위의 방법이 가능하지 않은 경우 데이터 사전을 사용하여 파일을 복구해 볼 수 있습니다. 이 방법은 테이블 구조와 데이터 사전 테이블에 여전히 존재하는 데이터에 의존합니다.
mysql -u -p USE information_schema;
innodb_table_stats
테이블을 쿼리하여 삭제된 파일에 대한 메타데이터 가져오기:innodb_table_stats
表以获取已删除文件的元数据:SELECT table_name, data_file_pos FROM innodb_table_stats WHERE table_id = ;
.ibd
文件的位置。.ibd
文件的头部,其中包含文件元数据。.ibd
文件。dd
命令将.ibd
文件的头部复制到表空间.ibd
文件中:dd if= of= bs=512 count=2048
.ibd
.ibd
파일의 위치입니다.
파일 메타데이터가 포함된.ibd
파일의 헤더를 복사하세요.
.ibd
파일을 찾으세요.
dd
명령을 사용하여.ibd
파일의 헤더를 테이블스페이스.ibd
파일에 복사합니다..ibd
파일을 다시 로드할 수 있도록 MySQL 서버를 다시 시작하세요.
위 내용은 MySQL에서 삭제된 데이터 파일을 복구하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!