Database
2019.11.22 04:36

[mysql] MySQL 백업 및 복구

Views 825 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

* 이 글에서는 mysqldump를 이용한 논리적 백업 과 복원을 위한 내용을 위주로 정리한다. (물리적 백업은 전문 DBA에게 부탁하는게 정신건강에 좋을 것 같다.)

백업
MySQL 데이터를 백업하는 방법은 크게 물리적 백업과 논리적 백업이 있다. 

1. 물리적 백업
 - 물리적 백업은 MySQL DB의 물리 파일을 백업하는 것이다.
 - 장점
  + 물리적 백업은 속도가 빠르며 작업이 단순하다.
 - 단점
  + InnoDB의 물리적 파일은 상응하는 논리 백업에 비해 상당히 크다.
  + 데이터 복구시에 문제가 발생할 소지가 있으면 문제발생시 원인파악 및 해결이 어렵다.

2. 논리적 백업
 - 논리적 백업은 mysqldump 혹은 기타 툴을 이용해서 SQL문을 갖는 텍스트 파일을 생성하는 것이다.
 - 장점
  + 논리적 백업은 데이터를 검토할 수 있다.
  + 복원작업이 수월하며, 물리적 백업에 비해 복원시 데이터 손상을 막아주며, 문제 발생시 원인 파악및 해결하기가 수월하다. 
 - 단점
  + 백업/복원시 시스템 리소스를 더 많이 소모한다. (물리적 백업은 파일 copy만 하면 되니까!!!)
  + 부동 소수점 데이터의 백업&복원시 데이터 정확성을 잃게 될 수 있다.

3. 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 : 스키마는 제외하고 

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

List of Articles
No. Category Subject Author Date Views
1093 Develop 논문에 들어갈 툴바 테스트 해볼 것.. secret hooni 2013.04.23 8013
1092 Etc 논문(BHO)에 들어갈 내용 집에가서 테스트 해볼 것.. secret hooni 2013.05.28 10230
1091 Develop 논문 실험용 고려대 툴바 ㅎㅎ secret hooni 2013.04.23 8686
1090 System/OS 네트워크별 MTU(최대 전송 단위) hooni 2013.04.23 17643
1089 System/OS 네트워크 용어 정리 file hooni 2022.11.20 1352
1088 PPT 네오웹 세미나 자료~ secret hooni 2013.05.28 0
1087 System/OS 나중에 해봐야지.. libconv 설치.. ㅡ,.ㅡ; hooni 2013.04.23 19284
1086 Develop 객체지향 프로그래밍에 대한 개념.. (객체) file hooni 2013.04.23 7310
1085 System/OS 개인적으로 쓰고 있는 zshrc 파일 hooni 2022.02.25 835
1084 System/OS 개인적으로 쓰고 있는 bash_profile hooni 2015.01.16 850
1083 Etc 개발자가 알아야할 10가지 보안팁으로 코드 보호하기 hooni 2013.04.23 16403
1082 System/OS [펌] 마이크로서비스, 모노리포, SRE, ... 덮어놓고 구글 따라하면 안 되는 기술들 file hooni 2020.10.15 951
1081 Develop [펌] 게임 엔진 만든거 공개합니다. hooni 2015.02.21 2359
1080 Develop [자료구조] 트리(tree) 용어정리 file hooni 2003.04.23 11067
1079 Etc [용어] POC, Pilot, BMT에 대한 IT 업계에서 통용되는 의미 hooni 2014.01.02 41962
1078 Etc [세미나] XML 레포트.. hooni 2003.04.23 19703
Board Pagination Prev 1 4 5 6 7 8 ... 74 Next
/ 74