데이터베이스/마이 SQL(MySQL)

MySQL 덤프(dump) 방법

후바스탱크 2015. 11. 18. 11:15

- 덤프

$> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명 


예) mysqldump -ukamkami -p mydatabase > kamkami.pe.kr.sql 


이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다. 



- 테이블만 덤프

예) mysqldump -ukamkami -p mydatabase member_table > kamkami.pe.kr.member_table.sql 


이렇게 하면 테이블만 덤프를 뜰 수 있다. 



- 복구하기

덤프 파일을 가지고 복구를 하는 방법도 간단하다. 

$> mysql -u[사용자아이디] -p [디비명] < 덤프파일명 


예) mysql -ukamkami -p < kamkami.pe.kr.sql 

예) mysql -ukamkami -p mydatabase < kamkami.pe.kr.member_table.sql



- 특정 DB의 특정 테이블에서 원하는 값만 덤프받기 

edu라는 디비에 a,b,c라는 테이블이 있다. 여기서 a라는 테이블에서 no가 7번이상이고 10번 

이하인 값만 덤프를 받고자 한다. 어떻게 하겠는가? 

여기서 사용되는 옵션은 -w 이다.그럼 위 질문의 sql문은 아래와 같다 


mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql 


위와같이 하면 no가 7~10번까지가 덤프될것이다. 

위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다.



- edu라는 디비의 모든 테이블 스키마를 백업받으려면

mysqldump -u mysql_admin -p -d edu > edu_db.sql 



- edu라는 디비의 a라는 테이블 스키마를 백업받으려면 

mysqldump -u mysql_admin -p -d edu a> edu_a_table.sql