Database ( DB )/Database

Windows에서 MySQL, MariaDB 데이터베이스 자동으로 백업하는 방법 - MySQL, MariaDB Database Scheduled Backup for Windows

노루아부지 2023. 2. 16. 10:01

bat 파일 생성

1) MySQL, MariaDB 설치 경로에서 mysqldump.exe 를 찾습니다.

MariaDB의 경우 보통 C:\Program Files\MariaDB 10.6\bin 경로에 있습니다.

 

2) 메모장이나 텍스트 편집기를 이용해서 아래 백업 배치 코드를 붙여넣고 "bat" 확장자로 저장합니다.

ex) backup.bat

set CUR_DATE=%date:~0,4%-%date:~5,2%-%date:~8,2%
echo %CUR_DATE%
"C:\Program Files\MariaDB 10.6\bin\mysqldump" --single-transaction --routines --databases db명 -h db서버IP -u아이디 -p패스워드 > 저장할폴더경로\dbbackup-%CUR_DATE%.sql

위 코드에서 변경해야할 부분은 "db명", "db서버IP", "아이디", "패스워드", "저장할폴더" 입니다.

 

그리고 백업 파일명은 "dbbackup-%CUR_DATE%.sql" 로 생성됩니다. 즉, 오늘 날짜가 2023-02-16이라면 "dbbackup-2023-02-16.sql" 으로 생성됩니다.

[옵션 설명]

  • --routines :스토어드 프로시저를 함께 덤프하는 옵션
  • --single-transaction : 트랜잭션을 지원하는 테이블을 블록 없이 dump
  • --databases db명 : 특정 schema를 dump
    • 만약 전체를 백업하고 싶다면 --all-databases

 

 

작업 스케줄러에 배치파일(bat) 등록

1) 작업 스케쥴러 실행

명령어: win + r입력 후 taskschd.msc 입력

 

2) 작업 만들기

3) "일반" 탭에서 이름 지정

4) "트리거" 탭에서 새로 만들기 버튼 클릭

5) 예약 시간 설정

ex) 예약상태, 매일, 시작: 2023-02-16 오전 1:00:00, 매 1일마다

 

6) "동작" 탭에서 새로만들기 버튼 클릭

7) 프로그램/스크립트에서 dbbackup.bat 선택

 

 

오래된 백업 파일 자동 삭제

디스크의 용량은 한정적이기 때문에 오래된 백업 파일은 삭제해야 합니다.파일 자동 삭제 방법은 아래 포스팅에서 확인 가능합니다.

 

[Windows] .bat 파일을 이용하여 파일 자동으로 삭제하는 방법

매일 DB 백업을 하거나, 매일 파일이 너무 많이 생기는 경우에 오래된 디스크 용량 문제로 오래된 파일을 지워야 합니다. 이것을 사람이 수동으로 하면 너무 귀찮기 때문에 자동으로 할 수 있는

yjh5369.tistory.com

 

728x90
loading