mysql에서 방금 삭제된 행을 복구하는 방법?
실수로 모든 데이터를 삭제한 경우 데이터를 사용하여 테이블을 마지막으로 복원할 수 있습니까?
서버에서 바이너리 로그가 활성화되어 있다면 사용할 수 있는 다른 해결책이 있습니다.mysqlbinlog
sql 파일을 생성합니다.
mysqlbinlog binary_log_file > query_log.sql
그런 다음 누락된 행을 검색합니다.활성화되지 않으면 다른 해결책이 없습니다.다음 번에 백업합니다.
약간.phpMyAdmin을 사용하여 한 행을 너무 많이 삭제했습니다.하지만 저는 진행하기 전에 그것을 잡았고 삭제 확인 메시지의 대부분의 데이터를 가지고 있었습니다.저는 기록을 다시 세울 수 있었습니다.하지만 확인 메시지는 문자 댓글의 일부를 잘라냈습니다.
저보다 pphMyAdmin에 대해 더 잘 아는 사람이 설정을 알고 있을 수도 있습니다. 그러면 삭제 확인 메시지에 대한 더 완벽한 에코를 얻을 수 있습니다.전체 삭제 메시지를 사용할 수 있는 상태에서 속도를 늦추고 오류를 발견하면 전체 레코드를 복원할 수 있습니다.
(PS 이 앱은 레코드를 만드는 제출 메일도 보냅니다.고객이 사본을 가지고 있다면 기록을 완전히 복원할 수 있을 것입니다.
미치가 언급했듯이 데이터를 백업하는 것이 가장 좋은 방법입니다.
다만, 사용하는 상황이나 DB 서버에 따라 손실된 데이터를 부분적으로 추출할 수도 있습니다.대부분의 경우 백업이 없다면 운이 없습니다.
죄송합니다만, 이전에 백업 파일을 만들지 않았다면 불가능합니다.
편집: 사실은 가능하지만 매우 까다로워지기 때문에 데이터가 정말 중요하지 않았다면 생각하지 말아야 합니다.데이터가 컴퓨터에서 삭제되어도 디스크의 동일한 위치에 남아 있고 섹터만 비어 있는 것으로 표시됩니다.따라서 새로운 데이터에 의해 덮어쓰는 경우를 제외하고는 데이터는 그대로 유지됩니다.이러한 목적을 위해 설계된 여러 프로그램이 있으며 비용이 많이 들지만 데이터 복구를 전문으로 하는 회사도 있습니다.
InnoDB 테이블의 경우 Percona에 도움이 될 수 있는 복구 도구가 있습니다.페일 세이프나 완벽과는 거리가 멀며 실수로 삭제한 후 MySQL 서버를 얼마나 빨리 중지했는지가 큰 영향을 미칩니다.변경 사항은 많은 데이터를 복구할 수 있지만 모든 데이터를 복구하는 것은 거의 불가능합니다.
물론 적절한 일일 백업, binlog, 그리고 실수로 삭제하는 데는 도움이 되지 않지만 하드웨어 장애가 발생할 경우에는 도움이 되는 복제 슬레이브를 사용하는 것도 방법이지만, 이 도구를 사용하면 데이터를 아직 저장할 수 많은 데이터를 저장할 수 있습니다.
아니요, 불가능합니다.유일한 해결책은 정기적인 백업을 하는 것입니다.이것은 굉장히 중요합니다.
아쉽게도 아닙니다.기본 구성으로 서버를 실행하고 있는 경우 백업을 가져오십시오(백업이 있습니까?). 일반적으로 데이터베이스는 데이터의 이전 버전이나 변경 사항의 수정 사항을 보관하지 않으며 현재 상태만 보관합니다.
(또는 사용자 정의 프론트엔드를 통해 데이터를 삭제한 경우 프론트엔드가 실제로 DELETE를 발행하지 않을 가능성이 높습니다. 많은 테이블이 다음과 같습니다.is_deleted
필드 또는 이와 유사하며, 이는 단순히 프론트엔드에 의해 토글됩니다.이는 프론트엔드 앱에 구현된 "소프트 삭제"라는 점에 유의하십시오. 이 경우 데이터는 실제로 삭제되지 않습니다. 실제로 데이터를 발급한 경우DELETE
,TRUNCATE
또는 유사한 SQL 명령어는 해당되지 않습니다.)
My ISAM 테이블을 사용하면 삭제한 데이터를 복구할 수 있습니다.
열린 파일: mysql/data/[your_db]/[your_table].MYD
텍스트 편집기를 사용하여
언급URL : https://stackoverflow.com/questions/6924823/how-to-recover-just-deleted-rows-in-mysql
'IT' 카테고리의 다른 글
jQuery에서 특정 폼 요소를 선택하는 방법은? (0) | 2023.10.30 |
---|---|
WooCommerce 아카이브 페이지의 상품 제목 아래에 사용자 정의 필드 값 추가 (0) | 2023.10.30 |
Oracle 실행 계획의 액세스 및 필터 술어 (0) | 2023.10.30 |
자바스크립트에서 '정의'란 무엇에 쓰이는가? (0) | 2023.10.30 |
Memcpy(&a + 1, &b + 1, 0)가 C11에 정의되어 있습니까? (0) | 2023.10.30 |