오늘도 한 뼘 더
[MySQL | ShellScript] 특정 컬럼만 백업해서 복원하는 스크립트 생성하기 본문
728x90
반응형
# 배경
mysqldump를 사용할 때 특정 컬럼만 선택하는 방법은 없다.
특정 컬럼을 백업해서 넘기기 위해서는 temp 테이블을 만들어서 temp 테이블에 원하는 데이터를 삽입해서 temp 테이블을 덤프 해서 진행하도록 한다.
# 스크립트 내용
https://github.com/baekji919/DevOps/tree/main/Data_Backup
DevOps/Data_Backup at main · baekji919/DevOps
Contribute to baekji919/DevOps development by creating an account on GitHub.
github.com
## temp 테이블 생성 sql
use database;
INSERT into database.table SELECT col1, col2, col3 from database1.table1;
## 스크립트 작성
#!/bin/bash
DB_HOST="HOST"
DB_USER="USER"
DB_PASSWORD="PASSWORD"
echo "insert data into temp table"
mysql -h ${DB_HOST} -u ${DB_USER) -p${DB_PASSWORD} < ./create_temp_talbe.sql
sleep 30
# 데이터 백업
echo "data dump"
mysqldump -h ${DB_HOST} -u ${DB_USER) -p${DB_PASSWORD} \
--set-gtid-purged=OFF \
[DATABASE_NAME] [TABLE] \
--default-character-set utf8 | gzip > dunmp_data.sql.gz
sleep 30
gzip -d dunmp_data.sql.gz
# 데이터 복원
echo "data import"
mysql -h ${DB_HOST} -u ${DB_USER) -p${DB_PASSWORD} [DATABASE] < dunmp_data.sql
728x90
반응형
'DevOps & Infra > DevOps' 카테고리의 다른 글
[Storage] EC2 Storage가 계속 늘어나는 문제를 해결한다 (0) | 2024.02.15 |
---|---|
[DevOps] 무중단 배포 전략 이해하기 (0) | 2023.11.23 |
[Terraform] 테라폼 AWS Provider 설정하기 (0) | 2023.08.24 |
[Terraform] Terraform 설치하기 (0) | 2023.07.31 |
[Terraform] 테라폼 시작하기 (0) | 2023.07.24 |
Comments