실수로 삭제한 mysql DB 복구방법 | |||
| |||
mysql의 모든 명령들은 로그를 남기기때문에 가능합니다. 일단 mysql의 DB가 쌓이는 디렉토리로 이동합니다. 대게 /usr/local/mysql/data /usr/local/mysql/var 등으로 설정해 놓으셨을겁니다. 해당 디렉토리로 이동하면 xxx-bin.001 xxx-bin.002 같은 바이너리 파일들이 존재할겁니다. 이게 바로 DB를 첨 생성할때부터 지금까지 쌓여온 로그인데요 이 파일을 활용하시면 삭제된 데이터도 살릴수 있습니다. 바이너리 파일이기때문에 그냥 접근하시면 이상한 문자들이 보이구요 mysqlbinlog 명령을 이용하셔서 사용해야 합니다. 다음은 예제입니다. 일단 DB 디렉토리로 이동한다. # cd /usr/local/mysql/data 바이너리 파일을 소스파일로 변환한다. # ../mysqlbinlog leopit-bin.002 > rescue.sql 필요한 구문만 가져온다. # grep "insert" rescue.sql > rescue1.sql 이렇게 하시면 rescue1.sql은 지금까지의 인서트구문이 다 들어옵니다. 여기서 필요없는 부분은 지우세요 이제 최종적으로 DB에 삽입만 하시면 됩니다. # mysql -u 계정아이디 -p DB이름 < rescue1.sql Tags: mysql | |||
| |||
| |||
로그인을 하시면 댓글을 등록 할 수 있습니다. |
SIMILAR POSTS MySQL root 패스워드 분실했을 경우 |
OTHER POSTS IN THE SAME CATEGORY PHP, 정규분포 난수 생성, 가우스 분포 랜덤 발생 함수; Normal Distribution |