Database/SQL

MySQL 배치파일 백업 및 복구 방법, mysqldump 백업 in Windows

리커니 2014. 6. 3.
반응형

 

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키를 누르고 데이터베이스를 확인해보면

복구가 된 것을 확인 할 수 있습니다.

 

반응형

댓글

💲 추천 글