Contents

Database
2019.11.22 04:36

[mysql] MySQL 백업 및 복구

조회 수 821 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 이 글에서는 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
번호 분류 제목 글쓴이 날짜 조회 수
45 Etc RSVP 란? file hooni 2017.11.22 983
44 System/OS RPA란? 어디에 어떻게 쓰이고 누가 만드나? file hooni 2020.01.28 1357
43 Algorithm Polynomial time 이란? ㅋㅋ hooni 2013.04.23 22684
42 System/OS php.ini 설정 안됐을때.. ㅋㅋ hooni 2013.04.23 11639
41 System/OS OSI (Open Systems Interconnection) 개방형 시스템간 상호 접속 file hooni 2013.04.23 10785
40 Develop OPT와 CAS에 대한 자료.. (교수님 메일로 보내드린 자료..) file hooni 2013.04.23 13921
39 System/OS OpenSSL로 ROOT CA 생성 및 SSL 인증서 발급하기 hooni 2017.10.28 1458
38 Develop OpenGL 강좌 사이트 모음 hooni 2013.04.23 9637
37 Develop OGNL(Object Graph Navigation Language) hooni 2013.04.23 15727
36 Algorithm OCB5 Injection 앗싸뵹! ㅋㅋ file hooni 2014.07.01 800
35 System/OS NAT와 DHCP에 대한 간단한 설명 hooni 2013.04.23 18328
34 System/OS Mac에서 Node.js 설치하기 file hooni 2018.09.28 4189
Board Pagination Prev 1 ... 89 90 91 92 93 94 95 96 97 98 Next
/ 98