>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 실수로 삭제된 데이터를 복구하는 방법

MySQL에서 실수로 삭제된 데이터를 복구하는 방법

PHPz
PHPz원래의
2023-04-19 17:25:277292검색

일상 업무에서 MySQL 데이터베이스는 매우 일반적으로 사용되는 데이터베이스이지만 완벽하지는 않습니다. 실수로 데이터를 삭제하는 것이 불가피한 경우가 있는데, 실수로 삭제한 데이터를 복구해야 하는 경우가 있습니다. 이번 글에서는 MySQL이 실수로 삭제한 데이터를 복구하는 몇 가지 방법을 소개합니다.

1. 데이터 백업

작업을 수행하기 전에 MySQL 데이터베이스를 백업해야 합니다. 이렇게 하면 실수로 데이터를 삭제한 경우에도 백업 파일을 통해 복원할 수 있습니다. 백업 데이터의 무결성을 보장하기 위해 mysqldump 명령을 사용하여 데이터베이스를 내보낼 수 있습니다.

mysqldump -u root -p database > database_backup.sql

여기서 루트는 MySQL 사용자 이름이고, 데이터베이스는 백업할 데이터베이스의 이름이며 > 내보낸 결과를 파일에 기록합니다. 파일 이름은 Database_backup.sql입니다.

2. Binlog 파일 사용

Binlog 파일은 MySQL이 모든 작업을 기록하는 바이너리 로그입니다. 백업 파일이 없는 경우, 바이너리 로그를 통해 실수로 삭제된 데이터를 복구할 수 있습니다. 방법은 다음과 같습니다.

(1) Binlog 파일 보기

Binlog 파일 이름을 보려면 다음 명령을 사용하십시오.

show binary logs;

현재 MySQL에서 Binlog 파일 목록과 이름을 볼 수 있습니다.

(2) 실수로 데이터를 삭제한 시간 찾기

실수로 데이터를 삭제한 시간을 기준으로 해당 Binlog 파일과 해당 오프셋을 찾습니다. 다음 명령을 사용할 수 있습니다.

mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" /path/to/binlog/file

여기서 start-datetime과 stop-datetime은 각각 시작 시간과 종료 시간을 나타냅니다. 날짜/시간 또는 위치를 사용하여 실수로 삭제된 데이터 포인트를 찾을 수 있습니다.

(3) 데이터 복원

Binlog 파일과 실수로 삭제된 데이터의 오프셋을 찾은 후 다음 명령을 사용하여 데이터를 복구할 수 있습니다.

mysqlbinlog /path/to/binlog/file --start-position=offset --stop-position=offset | mysql -h serverAddress -u userName -p

그 중 /path/to/binlog/file이 Binlog 파일입니다. path, offset은 오프셋입니다. Shift, serverAddress는 서버 주소, userName은 MySQL 사용자 이름, -p 옵션은 비밀번호가 필요함을 나타냅니다.

3. 타사 도구 사용

위 방법으로 실수로 삭제된 데이터를 복구할 수 없는 경우 일부 타사 도구 사용을 고려할 수 있습니다. 예:

MySQL Binlog 뷰어: Binlog 파일의 내용을 볼 수 있습니다.

Recovery for MySQL: 백업 파일에서 데이터를 복구할 수 있습니다.

Navicat for MySQL: 데이터 백업 및 복원 기능을 제공할 수 있습니다.

요컨대, 실수로 데이터를 삭제하는 것은 당황스러운 상황이지만 절박한 상황은 아닙니다. 백업이 적시에 이루어지고 방법이 적절하다면 실수로 삭제된 데이터를 비즈니스에 영향을 주지 않고 복원할 수 있습니다.

위 내용은 MySQL에서 실수로 삭제된 데이터를 복구하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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