리눅스 Database Backup

학구·2022년 1월 25일
0

DevOps

목록 보기
1/3

전체 Dump 진행

CentOS 7 에서 Mysql을 기준으로 작성된 문서입니다.

mysqldump -h 호스트URL -u 유저네임 -p패스워스 > dump.sql —all-databases

주의할점은 반드시 -p 와 패스워드를 붙여서 써주어야 합니다.
하지만 이런식으로 명령어를 한번에 붙여 쓸경우 보안상 취약합니다.

mysqldump -h IP또는계정의도메인 -u 계정ID -p > dump.sql

password를 뺀 상태의 명령어를 입력하고, 비밀번호를 입력하라는 메세지가 나왔을 때 별도로 입력해주는것이 바람직합니다.

하지만 매번 이런식으로 수동으로 작업해주기엔 귀찮은 작업입니다.

dump 자동화 작업

  1. DB dump 자동화를 위한 계정정보 설정
mysql_config_editor set —login-path={설정명} —host=localhost —user=root —password
Enter password: {패스워드를 입력하여 저장}
  1. mysql.conf 에 아래내용 추가
[mysqldump] 
default-character-set=utf8
  1. dbdump.sh 생성
#!/bin/bash 
# DB 백업용 스크립트 

timestamp=`date +%Y-%m-%dT%H:%M`; 

# 파일 생성일이 3일 이상 지난 파일은 제거한다 
# find /home/backup -maxdepth 1 -mtime +3 # find 폴더/ -mtime +3 -delete 

# Project
mysqldump --login-path={1번스텝의 설정명} {DB명} > {프로젝트명}${timestamp}.sql 

이제 만들어진 dbdump.sh 파일을 원하는 주기로 cron 스케줄에 등록해주면 자동으로 백업을 진행합니다.

profile
불꽃남자

0개의 댓글