특정 테이블의 추출을 위해 모든 테이블을 복원해서 특정 테이블만 추출한 경험이 있다.
데이터의 양이 적으면 문제 없지만, 데이터의 양이 50~100GB이상이 되면 , 벌써 시간은 한 시간 이상 지체 될 지 모른다.
아래의 스크립트를 이용하면, 더 이상, 오랜 시간이 필요하지 않다.
간단하게 아래와 같이 sed 명령어를 사용해서 추출이 가능하다.
$ sed -n -e '/DROP TABLE.*테이블명/,/UNLOCK TABLES/p' 추출한 덤프 위치 > 결과 파일.
* 스크립트 설명
옵션
-e : 다중 편집 시에 사용.
-n : 출력을 생략한다.
행의 선택 범위 : 쉼표(,)
sed -n -e '/DROP TABLE.*테이블명/,/UNLOCK TABLES/p'
:DROP TABLE.*테이블명이 나오는 행과 UNLOCK TABLES가 나오는 행 사이의 모든 행들이 출력 된다.
'SERVER' 카테고리의 다른 글
[cacti] 그래프에 ip 나오게 만들기 (0) | 2016.10.28 |
---|---|
find -mtime cmd (0) | 2016.07.30 |
[LINUX]초단위로 cronjob 실행하기 (0) | 2015.08.19 |
[LINUX][BUG] bash shell bug (0) | 2014.09.29 |
[centos] grep을 이용한 로그 검색 (0) | 2014.09.26 |