[MySQL] 백업 및 복구

1. mysqldump 사용법

# mysqldump -u[userId] -p[password] --all-databases > dump.sql  // 서버에 있는 모든 것의 논리 백업 생성
# mysqldump -u[userId] -p[password] --databases [DB명] > dump.sql // 특정 데이터베이스만의 논리 백업 생성
# mysqldump -u[userId] -p[password] [DB명] [테이블명]


 
* 기타 옵션
   -A, –all-databases : 모든 DB 덤프
   -B, –databases : 특정 DB를 덤프
   –opt : 버퍼링을 비확성화 하고, 많은 데이터를 덤프에 있는 소량의 SQL구문에 기록해 더효율적으로 동작하다록 한다.
   –allow-keywords, –quote-names : 예약어를 사용하는 테이블을 덤프하고 복원할 수 있게 한다.
   –lock-alltables : 전역적으로 일관된 백업을 만들도록 “FLUSH TABLES WITH READ LOCK”을 사용한다.
   –tab : “SELECT INTO OUTFILE”로 파일을 덤프하여, 덤프 및 복원 속도가 매우 빠르다.
   -d, –no-data :  데이터는 제외하고 스키마만 덤프
   -t, –no-create-info : 스키마는 제외하고

2. dump 파일 복원 방법
 – mysql -u [userId] -p [password] [DB명] < dump.sql
 – mysql 접속한 후 아래의 명령 실행
     mysql> source dump.sql