강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

mysqldump명령어로 특정 데이터베이스의 특정 테이블의 백업과 복구

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

mysqldump명령어로 특정 데이터베이스의 특정 테이블의 백업과 복구

 

앞의 예에서는 MYSQL데이터베이스 내에 존재하는 특정 데이터베이스의 백업과 복구방법에 대해서 알아 보았습니다.   

 

 

  이번에는 특정 데이터베이스 내에 존재하는 특정 테이블만을 백업하고 복구하는 방법에 대해서 설명하도록 하겠습니다.   

 

 

 

 

, 데이터베이스를 관리하다 보면 흔히 있는 일은 아니지만 특정 데이터베이스 전체가 아닌 특정 데이터베이스내의 특정 테이블의 데이터만을 백업 저장해야하는 경우가 있습니다.   

 

 

 예를들어 데이터베이스 내에 고객별 테이블이 존재한다라고 했을 경우에 그 고객이 다른 곳으로 이전을 했거나 아니면 그 고객이 자기의 데이터만을 백업해 달라고 요구했을 경우가 이에 해당 합니다.   

 

 

 

 

따라서 여러분들과 저 같은 서버관리자들은 이런 요청이 있을 때 특정 데이터베이스의 내용을 전체 백업하는 것이 아니라 특정 데이터베이스 내에 존재하는 특정 테이블의 내용만을 백업받을 수 있어야 할 것입니다.   

 

 

 다음은 특정 데이터베이스 내의 특정 테이블을 백업하고 복구하는 사용형식입니다.   

 

 

 

 

백업형식 : mysqldump -u DB계정명 -p 데이터베이스명 테이블명 > 저장할파일명
복구형식 : mysql -u DB계정명 -p 데이터베이스명 < 저장한파일명

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#
[root@file bin]# ./mysqldump -u root -p picasso domain > domain.sql

Enter password: ********

[root@file bin]#

[root@file bin]# ls -l domain.sql

-rw-r--r--    1 root     root         5146  2 14 11:19 domain.sql

[root@file bin]#

 

위의 예는 MYSQL root계정으로 picasso라는 데이터베이스 내의 domain이라는 테이블의 데이터를 domain.sql이라는 파일에 백업하여 저장한 것입니다.   

 

 

 백업이 정상적으로 이루어 졌다면 domain.sql파일이 새로 생성되어 picasso데이터베이스의 domain테이블의 데이터가 SQL문의 형식으로 저장되어 있을 것입니다.   

 

 

 

 

그리고 다음은 이렇게 백업된 domain.sql파일을 이용하여 복구를 하는 방법입니다.   

 

 

 

 

[root@file bin]# ./mysql -u root -p picasso < ./domain.sql

 

위와 같이 하시면 domain.sql에 저장된 SQL문에 의해 picasso데이터베이스 내에는 domain이라는 새로운 테이블을 생성하고 그 테이블내에 백업된 데이터들을 넣어주게 됩니다.   

 

 

 

 

참고로 앞의 예에서 보셨듯이 mysqldump로 백업된 데이터들은 모두 SQL문으로 저장이 되기 때문에 복구를 할 때에도 백업파일(domain.sql)내의 SQL문을 사용하여 복구가 이루어 진다는 것을 꼭 알아두셔야 합니다.   

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,783 개
  • 현재 접속자 :  120 명