[IT 알아보기]/IT 소식

MySQL 전체 덤프 파일로 특정 DB 뽑아서 복구 하기.

이호스트ICT 2011. 5. 3. 16:22


cat 덤프파일 | grep 데이터 베이스 명 > aaa.txt
   -> 이 부분은 복구 하고자 하는 데이터 베이스 다음에 어떤 데이터 베이스가 있는지 검색 하기 위한 단계
      왜 해야 되는지는 아래에서 계속...^_________^

vi aaa.txt
   -> 복구 하고자 하는 데이터 베이스 (USE `데이터 베이스`)찾고 그 다음 어떤 데이터 베이스가 오는지 확인 한다.
   -> 전체 덤프 파일에서 내가 복구 하고자 하는 DB 이름은 aaa고 aaa 라는 DB 다음에 bbb라는 디비가 있다고 가정하고
       aaa라는 DB 복구 하는 방법을 설명 하겠다.

grep -n 'USE `aaa`' 덤프파일.sql
20592:USE `aaa`;
   -> 해당 덤프파일에서 내가 복구 하고자 하는 데이터 베이스는 20592번째 줄에서 시작한다.

grep -n 'USE `bbb`' 덤프파일.sql
22147:USE `bbb`;
   -> aaa라는 데이터 베이스 다음에 bbb라는 데이터 베이스는 22147번째 줄에서 시작 한다.
      bbb라는 DB 시작 부분에서 aaa라는 DB 시작 부분을 빼면 aaa라는 DB 내용을 알 수 있다.

grep 'USE `aaa`' -A 1555 덤프파일.sql > aaa_DB.sql
   -> 덤프파일.sql 이라는 파일에서 aaa라는 데이터 베이스를 검색 하고 해당 라인 이후부터 1555줄까지를 aaa_DB.sql이라는
       파일에 저장한다.
   -> 이렇게 하면 aaa라는 DB 시작부터 bbb라는 DB가 시작 하는 사이의 데이터를 찾을 수 있다.

mysql -u root -p aaa < aaa_DB.sql
   -> 이렇게 복구 하면 된다.
   -> 아니면 다른 DB를 만들어서 복구 하고 원본 DB랑 비교해서 삭제되거나 깨진 부분만 복구도 가능하다.


* DB 백업은 테이블 단위로 하자!!!!!!!

                                                                                                    - Posted by Woo Seung -

'[IT 알아보기] > IT 소식' 카테고리의 다른 글

Mysql Change Master To 사용하기  (0) 2011.05.03
서버 사용자 패스워드 일괄 변경  (0) 2011.05.03
도스(command)창에서 원격세션 끊기  (0) 2011.05.03
mysql character_set 변경  (0) 2011.05.03
IP forward 방법  (0) 2011.05.03