MYSQL 백업명령어 mysqldump에 대하여
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,531 조회
- 0 추천
- 목록
본문
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에서 사용할 수 있는 다양한 백업옵션들이 있습니다.
관련자료
-
이전
-
다음