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

MYSQL 백업명령어 mysqldump에 대하여

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MYSQL 백업명령어 mysqldump에 대하여

 

여러분들과 필자와 같은 서버관리자들이 서버관리업무를 할 때에 가장 예민한 부분이 아마도 해킹과 백업부분이 아닐까 생각됩니다.   

 

 

 물론, 서버의 성능과 안정성이 보장이 되어야하는 것은 기본이구요.

 

하지만 실질적으로 백업을 아무리 잘 해 두어도 불안한 마음은 완전히 가시지를 않습니다.   

 

 

 백업을 하는 도중에도 새로운 데이터가 쌓이고 있기 때문이죠. 그리고 백업을 완료한 순간부터 백업한 데이터는 현재의 데이터가 아닌 예전데이터가 되어버리기 때문입니다.   

 

 

 

 

그리고 백업을 해 두어도 백업한 데이터로 정상적인 복구가 가능한가에 대한 의문점도 늘 존재하구요.  어쨌든 우리 서버관리자들은 여러가지면에서 심적인 부담을 떨쳐버릴 수가 없는 것은 사실인 것 같습니다.   

 

 

 그렇다고 백업을 아니할 수 있나요. 해야죠.

 

여기서 설명드릴 내용은 MYSQL 데이터베이스를 백업하는 여러가지 방법에 대한 것입니다.   

 

 

   필자의 경우 MYSQL은 다음과 같은 두가지 방법으로 백업을 하고 있습니다.   

 

 

 

 

첫번째 백업방법 : /usr/local/mysql/전체를 매일 압축백업한다.
두번째 백업방법 : mysqldump명령어로 MYSQL스키마와 데이터만 백업한다.

 

여러분들께서도 잘 아시겠지만, 여기에서 설명드릴 방법은 두번째의 mysqldump명령어로 MYSQL의 필요한 부분이나 전체의 데이터를 SQL파일형태로 백업하는 방법입니다.   

 

 

  명령어의 위치와 mysqldump의 매뉴얼에 공식적으로 지정되어 있는 사용형식 3가지를 살펴보면 다음과 같습니다.   

 

 

 

 

 

명령어위치 : /usr/local/mysql/bin/mysqldump

 

사용형식 1 : mysqldump [옵션]  DB [TABLES…] > 파일명

사용형식 2 : mysqldump [옵션] --databases [옵션] DB1 [DB2 DB3…] > 파일명

사용형식 3 : mysqldump [옵션] --all-databases [옵션] > 파일명

 

명령어 사용형식1에서 DB는 백업대상이 되는 데이터베이스명이고 TABLES는 지정한 백업대상 데이터베이스내에 존재하는 테이블명입니다.   

 

 

 따라서 이 백업의 의미는 DB의 데이터베이스내에 존재하는 테이블의 내용을 백업하여 파일명에 저장하라는 의미입니다.   

 

 

 

 

명령어 사용형식2에서 --databases라는 옵션에 의해 DB1 DB2 DB3….의 데이터베이스들을 백업하여 파일명에 저장합니다.   

 

 

  즉 백업대상이 되는 데이터베이스가 2개이상이 될 때에는 --databases라는 옵션을 사용하시고 그 뒤에 백업할 데이터베이스를 지정해 주시면 됩니다.   

 

 

 

 

명령어 사용형식 3에서 --all-databases라는 옵션은 MYSQL내에 존재하는 모든 데이터베이스를 백업대상으로한다는 의미입니다.   

 

 

 따라서 MYSQL내의 모든 데이터베이스들을 백업하여 파일명에 저장한다라는 의미가 됩니다.   

 

 

 

 

그리고 이외에도 “mysqldump --help”를 보시면 mysqldump에서 사용할 수 있는 다양한 백업옵션들이 있습니다.   

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,031 명
  • 현재 강좌수 :  35,771 개
  • 현재 접속자 :  125 명