DB Table 복원 절차
데이타베이스 3개가 백업되어 있다고 가정.(test1, test2, test3)
복원할 테이블
---------------------------------------------------
1. H_B_notice
2. GiftOrder_List
---------------------------------------------------
* 해당 테이블이 어느 DB에 존재하는지 확인이 필요하다.
ㅇmysql -u root -p
- Password 입력
ㅇuse test1;
-test1 DB로 접근
ㅇshow tables;
+------------------------------------+
| Tables_in_test1 |
+------------------------------------+
| H_B_notice |
--------- 생략 -----------------------
해당 테이블이 test1 DB에 존재하는 것을 확인 하였다.
그렇다면 test1 DB 백업파일을 복원하여 해당 테이블을 추출하면 된다.
(실사용중인 서버에 복원하기에 문제가 있으므로 대체 서버에다가 복원)
DB 복원하기(통째로)
mysql -u root -p test1 < test1.sql
DB명 백업한 파일명.
백업한 test1 DB를 현재 있는 DB에 덮어 씌운다.
이렇게 하였는데 테이블 중 Lock 걸린 테이블이 있어서 진행이 안되는 경우
그럴땐 다음과 같은 옵션을 붙여주면 된다.
--lock-tables=0
mysql -u root -p test1 --lock-tables=0 < test1.sql
하면 강제로 덮어씌우게 된다.
그럼 이제 해당 날짜로 test1 DB가 복원된 것이다.
다음으로는 DB에서 원하는 테이블 꺼내기
mysqldump -u root -p test1 H_B_notice > H_B_notice.sql
mysqldump -u root -p test1 GiftOrder_list > GiftOrder_list.sql
다음과 같은 명령어로 쉽게 추출을 완료 하였다.
다시 원래 서버에 복원하기
마지막으로 축출한 테이블을 test1 DB에 있는 해당 테이블에 덮어 씌우는 작업이다.
mysql -u root -p test1 < H_B_notice.sql
mysql -u root -p test1 < GiftOrder_list.sql
작업시 주의 할점은 >< 화살표 방향에 따라서 어떻게 되는건지(축출을 하느냐, 아니면 덮어씌워버리냐) 틀림으로 각별히 신경써야 한다.
작업 끝
mysql 쿼리 로그 남기기 (0) | 2014.11.28 |
---|---|
zabbix 호스트 정보 찾기 (0) | 2014.11.13 |
MySQL 동기화 에러 발생시 처리 방법 (0) | 2014.02.08 |