예전에 기록해 둔 내용인데.. ^^;; (창피~)
기록은 기억을 뛰어넘지 못한다길래~ 어느새 메모가 습관이 되어버렸습니다.
간혹 서버의 규모가 작은곳에서 개발을 진행하다, 큰곳으로 서버를 이전하거나 하는 경우, 막상 기존 db의 데이터를 옮기려면 막막한 경우가 많죠? 요즘엔 뭐 db to db로도 옮겨지지만서도..
인프라팀이나 서버팀이 작업하는 경우도 많지만, 제가 몸 담았던 많은 경험을 얻은 작은 회사의 경우엔 개발자가 직접 처리하는 경우가 많았습니다.
혹시나 저같은 상황을 겪으실 분이 계시다면 도움이 되길 바래봅니다.
■ 데이터 베이스 백업 (덤프파일 생성)
$> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명
예) mysqldump -ukamkami -p mydatabase > dump.sql
■ 특정 테이블 백업 (덤프파일 생성)
예) mysqldump -ukamkami -p mydatabase member_table > dump_table.sql
■ 복구하기 (덤프파일로 복구)
$> mysql -u[사용자아이디] -p [디비명] < 덤프파일명
예) mysql -ukamkami -p < dump.sql
예) mysql -ukamkami -p mydatabase < dump_table.sql
■ 특정 db의 특정 table에서 원하는 값만 덤프받기
edu.a 테이블에서 no가 7번이상이고 10번 이하인 값만 덤프를 받는 경우
옵션 -w
mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql
조건문은 -w 다음에 싱글쿼테이션으로 묶어준다.
■ 디비 스키마(Schema)만 백업받기
옵션 -d
!.edu라는 디비의 모든 테이블 스키마를 백업받으려면
mysqldump -u mysql_admin -p -d edu > edu_db.sql
!.edu라는 디비의 a라는 테이블 스키마를 백업받으려면
mysqldump -u mysql_admin -p -d edu a> edu_a_table.sql
'마니의 공부방 > DataBase' 카테고리의 다른 글
[postgresql] 외부 접근 허용 설정 (2) | 2021.01.11 |
---|---|
[tibero] 테이블 생성/사용자추가/접속권한 부여 (0) | 2021.01.07 |
[oracle] sequence 생성/수정/삭제 (0) | 2020.12.24 |
[postgres] 백업 및 복구 (0) | 2020.12.23 |
[mysql] 테이블 생성 및 사용자 추가/접근권한 부여 (0) | 2020.12.22 |