MySQL 배치파일 백업 및 복구 방법, mysqldump 백업 in Windows
이번 포스팅에서는 MySQL의 배치파일을 만들어 백업하고 복구하는 방법에 대해서 알아보도록 하겠습니다.
데이터베이스의 백업 및 복구는 필수이니 정확히 알고 있기로 하죠.
예를 들기 위해 test 라는 DB 에 test_table 이라는 테이블을 만들어 놓았습니다.
이제 DB와 TABLE을 백업하기 위해 배치파일을 만들어 보도록 하죠.
메모장을 엽니다.
아래와 같이 작성후 BACKUP_DB.bat 파일로 저장을 하시면 됩니다.
::[BACKUP_DB.bat]
::콘솔 입력에 대한 화면 표시 끔
@ECHO OFF
::디렉토리 경로가 존재 하지 않을 경우 새 디렉토리 생성
IF NOT EXIST %4 (md %4)
::LOCAL시작
SETLOCAL
::WITH 옵션이 존재할 경우 해당 옵션 조건 설정.
IF NOT [%5] == [] (SET WITH_OPTION=WITH %5)
::파일저장 경로 설정
SET FILE_PATH=%4
::”DB이름_날짜_시_분_초.sql”형식의 파일 이름 설정(예: test_20121225_07_22_33.sql)
SET FILE_NAME=%1_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%.sql
::서버에 접속하여 백업 쿼리를 수행함
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" -u%2 -p%3 --result-file=%FILE_PATH%\%FILE_NAME% %1
echo Done!
%1, %2 ... %5 는 콘솔 창에서 인수를 받아 처리하기 위해 사용하였습니다.
%1 - 데이터베이스 이름
%2 - 데이터베이스에 접속 하기 위한 계정 ID
%3 - 데이터베이스에 접속 하기 위한 계정 PW
%4 - 백업 파일을 저장할 경로
%5 - 백업 쿼리 수행시의 with 절 옵션
앞에 :: 이 붙은 것은 주석입니다.
이제 실행창(window키 + R) 을 열서 'cmd'를 입력해 콘솔창을 띄웁니다.
BACKUP_DB.bat 파일이 있는 곳으로 이동합니다.
콘솔창에서의 이동은 cd 로 합니다.
예: cd.. - 전폴더로 이동
c:\ 에서 cd program files - c:\program files 로 이동
전 BACKUP_DB.bat 파일을 c:\에 두었습니다. (test니깐..)
c:\로 이동해 배치 파일을 실행시키고 인수들을 입력해 줍니다. 그리고 Enter.
그럼 아래와 같이 설정한 경로(c:\backup)에 백업파일이 생긴것을 볼 수 있습니다.
이제 백업 파일이 생겼으니, 이 백업 파일을 가지고 복구 하는 방법을 알아보도록 하겠습니다.
복구도 백업과 같이 배치 파일을 생성합니다.
생성전에 테스트 데이터 베이스에 있는 데이터를 수정합니다. ( 그래야 복구가 돼었는지 알수 있으니깐요..)
[RECOVERY_DB.txt]
::콘솔 입력에 대한 화면 표시 끔
@ECHO OFF
::LOCAL시작
SETLOCAL
::WITH 옵션이 존재할 경우 해당 옵션 조건 설정.
IF NOT [%5] == [] (SET WITH_OPTION=WITH %5)
::서버에 접속하여 복원 쿼리를 수행함
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -u%2 -p%3 %1 < %4
::LOCAL끝
ENDLOCAL
백업파일과 같이 %1, %2 ... %5 는 콘솔 창에서 인수를 받아 처리하기 위해 사용하였습니다.
%1 - 데이터베이스 이름
%2 - 데이터베이스에 접속 하기 위한 계정 ID
%3 - 데이터베이스에 접속 하기 위한 계정 PW
%4 - 저장된 백업 파일의 경로
%5 - 백업 쿼리 수행시의 with 절 옵션
다시 커맨드 창을 열어 아래와 같이 입력 합니다.
위와 같이 입력을 하고 Enter키를 누르고 데이터베이스를 확인해보면
복구가 된 것을 확인 할 수 있습니다.
'Database > SQL' 카테고리의 다른 글
MySQL 바이너리 로그를 활용한 DB 복구 방법 in Windows (0) | 2014.06.12 |
---|---|
MySQL 바이너리 로그 설정 방법 in Windows, 바이너리 로그란? (0) | 2014.06.12 |
Oracle 오라클 중복 데이터 제거, ROWID (2) | 2014.05.09 |
Oracle 오라클 중복 데이터 찾는 방법 (0) | 2014.05.08 |
Oracle 오라클 대소문자 구분없이 검색하기, UPPER, LOWER 사용법 (0) | 2014.04.30 |
댓글