MySQL Àüü ´ýÇÁ ÆÄÀϷΠƯÁ¤ DB »Ì¾Æ¼ º¹±¸ Çϱâ.2016.02.18
http://ehostidc.co.kr/center/EH050402.php?no=2485&page=17&choose=titl¡¦ (734)http://ehostidc.co.kr/center/EH050501.php?ke=17 (747)
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 백업은 테이블 단위로 하자!!!!!!!