본문 바로가기
Linux

쿠버네티스 mySQL pod dump

by 시바도지 2022. 9. 1.
반응형

기존의 linux에서 mysql dump를 할 때는 다음과 같다.

# 예)
mysqldump -u dbUser -p password -A > db_dump.sql

 

쿠버네티스의  mySQL pod를 dump할 시

kubectl exec -it [podName] -n [namespace] -- mysqldump -u [dbUser] -p[password] [dbName] > [scriptName].sql

 

dump한 파일을 복원할 시

kubectl exec -[it | -i] [podName] -n [nameSpace] -- mysql -u [dbUser] -p[password] [dbName] < [scriptName].sql

 

쉘스크립트 예제

# 모든 DB를 dump 후 현재 날짜를 이름으로 sql 파일을 저장한다.
# 날짜 포맷은 다음과 같다. %Y%m%d

# 만약 crontab을 사용하여 주기적으로 dump를 만든다면 다음과 같이 환경변수를 지정해준다.
PATH= [환경변수] # 환경변수는 터미널에서 echo $PATH를 입력하면 확인할 수 있다.

USER="user"
PWD="password"
TODAY=$(date "+%Y%m%d")

kubectl exec -it mypod-mysql -n my-pod-namespace -- mysqldump -u${USER} -p${PWD} --all-databases > ${TODAY}.sql

 

반응형

댓글