강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

백업 및 복구 - 두번째
작성자 : 13 김영철
등록날짜 : 2009.01.29 15:46
2,408
오늘은 mySQL에서 백업 및 복구 그 두 번째 시간으로,

풀 레벨의 백업 및 복구를 하겠습니다.

이전 시간에 했던 'SQL레벨의 백업'은 테이블상의 데이터만을 백업하는 방법이었습니다.

그러나 이번 시간에 할 '풀 레벨의 백업'은 테이블도 아닌 데이터베이스 전체를 백업하는 것입니다.

여러분이 CREATE DATABASE mydb; 같은 명령어로 만들었던

바로 그 데이터베이스 전체를 백업한다는 뜻이지요.

따라서 이렇게 백업해 놓으면 데이터베이스 어디에서 문제가 발생했는지 알 수 없는 경우에도

일단은 복구가 가능해 집니다. 복구시 무조건 데이터베이스를 새로 만들게 되니까요.


자, 그럼 거두인절미하고 풀 백업을 해보겠습니다.


mySQL에서는 mySQL을 관리하기 위한 유틸을 여러 가지 지원합니다.

그 중에서 오늘 우리는 mysqldump 라는 유틸을 사용해서 백업을 할 것입니다.

해보시면 아마도 여러분께서 생각하셨던 것보다 훨씬 쉽다고 느끼실 겁니다.


일단 테스트를 위해 임의로 데이터베이스와 테이블이 있다고 가정하겠습니다.

아래는 임의로 만든 mytest라는 데이터베이스와 employee라는 테이블을 보여주고 있습니다.





mytest라는 데이터베이스에 employee라는 테이블과 데이터들이 있는 것을 확인하셨죠?

그러면 이제 이 데이터베이스 전체를 백업하도록 하겠습니다.


먼저 root 권한으로 변경하시구요.

# su

일단 mySQL의 유틸들이 있는 디렉토리로 이동합니다.

# cd /usr/local/mysql/bin

그런 다음 이제 mysqldump를 실행합니다.

형식은 이렇습니다.

mysqldump -p 데이터베이스명 > '파일명'

실행해 볼까요?

# ./mysqldump -p mytest > '/tmp/mytestbackup.txt'

이렇게 해서 데이터베이스 전체가 /tmp 디렉토리 밑에 mytestbackup.txt 라는 파일로 백업이 되었습니다.

정말 간단하죠?

여러분은 이제 이 mytestbackup.txt 라는 파일을 잘 관리하시면 됩니다.

이번엔 mytestbackup.txt 라는 파일이 어떻게 생겼는지 볼 차례입니다.

# vi /tmp/mytestbackup.txt# MySQL dump 8.12
#
# Host: localhost Database: mytest
#--------------------------------------------------------
# Server version 3.23.32

#
# Table structure for table 'employee'
#

CREATE TABLE employee (
emp_id varchar(4) NOT NULL default '',
emp_name varchar(15) NOT NULL default '',
emp_salary int(11) default NULL,
PRIMARY KEY (emp_id)
) TYPE=MyISAM;

#
# Dumping data for table 'employee'
#

INSERT INTO employee VALUES ('1301','김호',80);
INSERT INTO employee VALUES ('1302','짱가',155);
INSERT INTO employee VALUES ('1305','가가멜',200);
INSERT INTO employee VALUES ('1303','나그네',110);



얼핏 봐도 무슨 내용인지 아시겠죠? SQL 문장들이 쭈욱 써있습니다.

물론 #로 되어있는 부분은 주석처리된 부분이구요...

복구시에는 이 SQL 문장들을 그대로 실행하게 됩니다.

그러면 테이블이나 데이터들이 원래 있던 그대~로 만들어지겠죠? 홋홋홋..


자, 이제 복구를 테스트해 보도록 하겠습니다.

그러기 위해서 일단 mytest 데이터베이스 안에 있는 데이터들을 모두 삭제하겠습니다.

mysql> DROP TABLE employee;

저는 DELETE나 DROP 명령을 실행할 때는 항상 긴장을 하게 됩니다.

소심해서일까요?

하지만 이 녀석들은 잘못하면 돌이킬 수 없는 결과를 초래할지 모르는 무서운 명령들입니다.

여러분께서도 이럴 때 쬐~끔은 긴장해 주시길 바랍니다.

그래야 제가 소심하단 소릴 안 들을테니까요.....^^;


어쨌든 이렇게 해서 데이터베이스를 와장창 없애 버렸습니다.

이제는

mysql> show tables;

라고 명령해봤자 mytest 데이터베이스 안에는 테이블이 하나도 없습니다.

아까 백업해 놓은 mytestbackup.txt 파일만이 유일한 복구 방책이 되는 것이죠.

이제 그 파일을 가지고 테이블들을 복구해 보도록 하겠습니다.

자, 이때 유심히 보아야 할 사항!!

그것은...

복구시에는 mysqldump가 아니라 mysql이라는 유틸을 명령으로 사용한다는 것이지요.

따라서 복구 명령은 이렇게 내리게 됩니다.

# ./mysql -p mytest < '/tmp/mytestbackup.txt'

꺾임쇠가 오른쪽(>)이 아니라 왼쪽(<)임을 유심히 봐주세요.

이렇게 명령을 내리신 후 데이터를 확인해 보면..

employee라는 테이블이 다시 만들어져 있고 데이터들도 제대로 들어가 있는 것을 확인하실 수 있습니다.

하하.. 별로 어려운게 없죠? 혹시 너무 쉬워서 실망하셨나요? ^^


덧붙여서 주의하실 사항을 말씀드리자면요...

지금은 테스트를 위해 /tmp 디렉토리 밑에 백업을 했습니다만,

실제로는 임의의 디렉토리를 만드셔서 백업하시기 바랍니다.

/tmp 디렉토리 밑의 파일들은 때에 따라 저절로 지워지는 경우가 발생하기도 하니까요.

그리고 mysqldump나 mysql 유틸 역시 꼭 백업,복구에만 쓰이는 것은 아닙니다.

SQL문장을 저장해서 쓴다든가 아니면 다른 목적으로도 사용될 수 있습니다.

아시겠죠? 

[출처] 민주가인

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2805 Window Server 2003을 사용해 보자 M 최고의하루 12.20 2494
2804 Windows Server 2003 에서 IIS 6 + PHP 4.3.2 설정법 M 최고의하루 12.19 3959
2803 Windows Server 2003 완벽 재설치 M 최고의하루 12.19 3117
2802 SERVER 2003 섬네일(GD2) 기능 적용하기 M 최고의하루 12.18 2335
2801 윈도우2003 서버 SP1 환경에서 IIS에 php 설치 하기 M 최고의하루 12.18 2958
2800 PHP 4.4.3-dev, Zend 2.6.0, MySQL 4.0.26 버전 설치정보 M 최고의하루 12.04 2681
2799 Windows 2003 Server 설치 및 최적화 팁 모음 M 최고의하루 12.04 3242
2798 우편번호,주소 db 13 김영철 01.29 2366
2797 my-sql 을 좀 쉽게 다룰수 있는 프로그램입니다 13 김영철 01.29 2765
2796 Mysql 기본 사용법 13 김영철 01.29 2992
2795 mssql mysql 변환, asp 게시판 소스 수정 13 김영철 01.29 4832
2794 mysql함수 13 김영철 01.29 2628
2793 mySQL에서의 트랜잭션 13 김영철 01.29 2436
2792 백업 및 복구 - 첫번째 13 김영철 01.29 2485
열람중 백업 및 복구 - 두번째 13 김영철 01.29 2409
2790 사용자 및 권한 설정 13 김영철 01.29 2075
2789 [mysqld] Column Type => Timestamp 설정 13 김영철 01.29 2427
2788 MySQL, SQL문의 분류, Eclipse 셋팅, JDBC, 방명록 13 김영철 01.29 4120
2787 UNION 과 JOIN 의 차이점 13 김영철 01.29 2384
2786 mysql 한글 깨짐 13 김영철 01.29 3662
2785 Mysql 5.xxx 데몬 시작 및 중지 13 김영철 01.29 2588
2784 Mysql-5.0.37 설치 및 한글처리문제 13 김영철 01.29 2887
2783 윈도우 환경에서의 Mysql5 설치 및 설정방법 13 김영철 01.29 3231
2782 php5, mysql5.0 설치 13 김영철 01.29 2652
2781 mysql characterset 변경 13 김영철 01.29 2404
2780 Mysql 함수 총집합 13 김영철 01.29 3266
2779 Mysql 문자열 관련 함수 13 김영철 01.29 2734
2778 mysql 컬럼값 문자열 치환 - REPLACE() 13 김영철 01.29 2749
2777 Mysql 백업 하기 13 김영철 01.29 3129
2776 mysql 복구 13 김영철 01.29 2838
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취