-- 수업시간에 다루지 않은 내용이라 기록만 하겠다 --
1. 백업
💡백업(Backup)은 데이터 손실에 대비하여 현재의 데이터베이스 상태를 저장하는 과정이며, **복원(Restore)**은 백업된 데이터를 사용하여 데이터베이스를 이전 상태로 복구하는 과정이다.
MySQL에서 백업과 복원은 데이터의 무결성과 지속성을 보장하는 데 필수적이며, 시스템 장애, 사용자 실수 또는 기타 예기치 않은 상황에 대비할 수 있도록 해준다.
01. 백업의 종류
- 논리적 백업(Logical Backup)
- 데이터베이스의 구조와 데이터를 SQL 문장으로 덤프하여 저장하는 방법이다.
- mysqldump 유틸리티를 사용한다.
- 이식성이 높고 특정 데이터만 백업 가능한 장점이 있지만, 대용량 데이터의 경우 시간이 오래 걸린다.
- 물리적 백업(Physical Backup)
- 데이터 파일 자체를 복사하여 백업하는 방법이다.
- mysqlhotcopy, 파일 시스템 복사 등을 사용한다.
- 속도가 빠르고 대용량 데이터에 적합하지만, 동일한 OS와 파일 시스템 환경이 필요하다는 제한점이 있다.
02. 데이터베이스 백업
# 1. mysqldump를 이용한 백업
# 전체 데이터베이스를 백업하는 명령어
mysqldump -u [username] -p --all-databases > all_databases.sql
# 2. 특정 데이터베이스 백업
mysqldump -u [username] -p [database_name] > [backup_file].sql
# 3. 특정 테이블 백업
mysqldump -u [username] -p [database_name] [table1 table2 ...] > [backup_file].sql
2. 복원
01. 데이터베이스 복원
# 전체 데이터베이스를 복원하는 명령어
mysql -u [username] -p < [backup_file].sql
# 2. 특정 데이터베이스 복원
CREATE DATABASE my_database;
mysql -u [username] -p my_database < [backup_file].sql
# 3. 특정 테이블 복원
mysql -u [username] -p [database_name] < [tables_backup].sql
+ 백업과 복원 시 주의 사항
- 백업 파일에는 중요한 데이터가 포함되어 있으므로 보안 유지를 위해 적절한 권한 설정과 안전한 저장소에 보관한다.
- 복원 과정에서 문제가 없는지 주기적으로 복원 테스트를 수행한다.
- 백업 파일이 누적되면 스토리지 공간이 부족해질 수 있으므로 오래된 백업은 정리하는 등 스토리지를 지속적으로 관리한다.
- -single-transaction 옵션을 사용하여 백업 중 데이터의 일관성을 유지한다.
'SKN > 02. DB' 카테고리의 다른 글
| 13. SQL 작성 (select / order_by / where / distinct) (0) | 2025.02.19 |
|---|---|
| 04. 개념/논리/물리 모델 (1) | 2025.02.19 |
| 11. STORED PROCEDURE / Trigger (0) | 2025.02.19 |
| 10. VIEW (0) | 2025.02.19 |
| 09. INDEX (0) | 2025.02.19 |