반응형
Mysql은 mysqldump로 백업받을 시 스크립트 형태로 백업이 받게 됩니다.
mysqldump의 다양한 옵션이 있어서 fullbackup,스키마만 백업, 테이블만 백업등을 설정해서 백업을 받을 수 있는데요.
저는 fullbackup을 일정시간마다 돌게 설정해서 관리하고 있습니다.
특정 테이블만 복구해달라는 요청이 있어서, full backup본을 그대로 복구할 시 다른 것들도 모두 복구가 되기 때문에 full backup본을 기반으로 테이블 복구 스크립트를 만드는 법을 정리합니다.
##
장애상황 확인
mysql> select count(*) from data_source;
ERROR 1146 (42S02): Table 'grafana.data_source' doesn't exist
##
스크립트 만들기.
fulldump를 기반으로 table하나만 복구하는 스크립트를 sed 명령어를 통해 추출합니다.
sed -n -e '/Table structure for table `[복구 테이블명]`/,/UNLOCK TABLES/p' [FULLBACKUP 파일] > [테이블 복구 파일]
sed -n -e '/Table structure for table `data_source`/,/UNLOCK TABLES/p' mysqldump_2306192200 > data_source_230621.sql
##복구 명령어
mysql -u root -p grafana < /db/backup/data_source_230621.sql
##확인
mysql> select count(*) from data_source;
+----------+
| count(*) |
+----------+
| 24 |
+----------+
1 row in set (0.00 sec)
반응형
'다른 DBMS > MySQL&MariaDB' 카테고리의 다른 글
MySQL의 업그레이드 (1) (0) | 2023.08.24 |
---|---|
Recursive 구문을 활용한 연,월 dummy 데이터 생성 (0) | 2023.08.14 |
다른 서버에 Mysql 이관하기(mysql 설치,mysqldump 사용) (0) | 2023.04.13 |
mysql 접속시 --batch --execute --skip-column-names 옵션 사용 (0) | 2021.12.21 |
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER or SET_USER_ID privilege(s) for this operation (0) | 2021.07.05 |
댓글