mysqldump 에서 특정 조건에 부합되는 rows만 dump 하기
간혹 전체 테이블의 데이터가 아닌 특정 조건에 부합되는 row만 sql 파일로 dump를 하고 싶을 때가 있다. 즉 일반적인 select 쿼리문에서 where 조건절을 이용하는 것과 같은 방법으로 백업을 하는 것이다. 이번에 그런 경우가 있었는데 특정 게시글 번호를 갖는 게시글 정보만 sql 파일로 백업하기 위해 방법을 찾아보니 아래와 같이 명령을 실행하면 특정 조건에 부합되는 row만 sql 파일로 백업을 할 수가 있다.
$ mysqldump -u user_id -p databasename tablename --where="id='1234'" > dump.sql
$ mysqldump -h 192.168.0.5 -u user_id -p databasename tablename --where="id='1234'" > dump.sql
위와 같은 형식으로 mysqldump 명령어를 실행시켜 주면 된다. 예를 들어 database 가 ncube 이고 table 이 post 에서 id가 1234인 row의 정보를 dump.sql 로 백업하기 위해서는 아래와 같이 입력하면 된다.
$ mysqldump -u ncube -p ncube post --where="id='1234'" > dump.sql
mysqldump 때 –where 를 사용하면 특정 조건에 맞는 rows만 sql 파일로 백업이 가능하다.