1. MySQL에서, `mysqldump`에 의한 덤프 백업 및 복구
ㅇ 사용例)
- (덤프) mysqldump -u 사용자id -p db명 table명 각종옵션들 > 덤프파일명
- (복구) mysql -u 사용자id -p db명 각종옵션들 < 덤프파일명
ㅇ mysqldump 주요 옵션
- --routines : MySQL 저장프로그램까지 포함하여 백업
. 기본으로 트리거는 포함되나, 기타 모든 Stored Procedure/Function/Event 는 미포함
- --events,-E : MySQL 이벤트 포함하여 백업
- --skip-opt : 덤프 전에 전체 결과 셋을 메모리로 읽어오지 않고, 바로 파일로 덤프
- --no-create-db,-n : 덤프 내용에 `create database ...` 명령을 포함시키지 않음
- --no-data,-d : 데이터를 덤프 안함 (create 구문 전부 제외)
- --no-create-info,-t : create table 구문 사용 안함
- --ignore-table=dbname.tablename : 특정 테이블 제외하고 덤프
- --default-character-set : MySQL 문자 세트를 특정 지정하여 덤프
- -P,--port=# : MySQL 포트 (디폴트 포트 : 3306)
2. mysqldump 활용 例)
ㅇ MySQL에서, 로컬 서버 → 원격 서버 백업/복구
- (테이블 복사)
. mysqldump -h 호스트주소 -u 사용자명 --password=암호 db명 테이블명
| mysql -u 사용자명 --password=암호 -h 호스트주소 db명
- (데이터베이스 복사)
. mysqldump -u 사용자명 --password=암호 --databases db 명
| mysql -u 사용자명 --password=암호 -h 호스트주소
ㅇ procedure, function, trigger 까지 포함시켜, 백업/복구하기
- (백업)
. mysqldump --routines --trigger -u유저이름 -p패스워드 db명 > 백업파일
- (복구)
. mysql -u유저이름 -p패스워드 db명 < 백업파일