일상 업무에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!