리눅스/mysql

대용량sql 덤프파일에서 특정 테이블 추출하기

Rohin 2021. 2. 3. 09:50
반응형

대용량 덤프파일에서 table 단위로 추출해야할 때가 있다.

db를 만들어서 해당 데이터를 밀어넣은뒤 특정 테이블만 빼내어 작업하는경우도 있긴하지만...

sql 파일 자체에서 sed 명령어로 해당 테이블에 대한 데이터만 빼내는 방법이 있다.

아래와 같이 이용하면된다.

sed -n -e '/DROP TABLE.*테이블명/,/UNLOCK TABLES/p' 디비명.sql > 디비명.테이블명.sql

ex) sed -n -e '/DROP TABLE.* harulife_test /,/UNLOCK TABLES/p' 20210202_harulife.sql > harulife_test.sql

위와같이 명령어를 통해 harulife_test 테이블을 20210202_harulife.sql(harulife_DB)에서 추출한다.

DB용량에따라 작업소요시간은 달라진다.