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

mysqldump 이용하여 특정데이터베이스의 특정테이블의 백업과 복구

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

mysqldump 이용하여 특정데이터베이스의 특정테이블의 백업과 복구

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

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

 


복구형식 : mysql -u DB계정명 -p 데이터베이스명 < 저장한파일명

 

 

 

 

[root@sulinux bin]# pwd

/usr/local/mysql/bin

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

Enter password: ********

[root@sulinux bin]#

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

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

[root@sulinux bin]#

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

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

 

 

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

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

 

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,157 명
  • 현재 강좌수 :  36,514 개
  • 현재 접속자 :  262 명