웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
Mysql 데이타베이스 백업및 복구(2)...
2002.06.22 11:58
안뇽하세요~ 오늘은 mysql 전체 백업을 하는 방법을 알아보겠습니당...
mysql을 소스 설치가 아닌 RPM으로 설치한 Redhant 7.3이 깔린 Mysql을 기준으로 설명합니당..
음...일단 이 방법은 Root 권한이 있는 분들..즉, 서버 관리를 하시는 분들에게 유용할것 같네요...
우선 두가지 방법이 있는데여..
첫번째방법, - mysql 폴더를 전체 카피 한다.
cp -arv /var/lib/mysql /home/cream/public_html/mysql
/var/lib/mysql 안에 있는 내용들을 전부다 /home/cream/public_html/mysq 로 카피를 하라는
명령 입니다. cp 옵션에 -arv 에 대해서 설명을 하자면,
a : 원본 파일 또는 디렉토리의 속성과 시간 등을 그대로 복사.
r : 디렉토리를 복사할 경우 디렉토리에 포함된 모든 파일, 디렉토리까지 복사한다.
v : 복사되는 내용을 그대로 화면에 출력한다.
이런 내용입니당..
복사한 파일들을 잘 보관하신 후에 새로 설치하신 서버라던지 아니면 DB가 망가져서 다시 복구 하실때
/var/lib/mysql 폴더 안에 있는 내용을 지우신 후에 다시 넣어주고 mysql을 재시작 하시면 됩니다.
두번째방법. - mysqldump를 사용한다.
어떻게 보면 두번째 방법이 더 효율적이기도 하고 관리 하기도 편하다는 생각이 드네요..
이건 제가 쓰고 있는 방법인데요...저는 일주일에 한번씩 자동으로 cron을 돌려서
날짜별로 따로 전체DB를 저장 한답니다. 전체 백업 방법을 알아볼까용?
이 명령은 mysql 루트 권한이 있어야 실행되겠져?
[root@ns /]# mysqldump -uroot -p --all-databases > /home/cream/public_html/mysql/alldb.sql
설명을 하자면 mysqldump는 명령어를 말하구요..
-uroot 는 유저는 root 이고
-p는 패스워드를 지정해주는것이구요..root의 패스워드가 12345일때 -p12345 이렇게 하셔도 됩니다.
--all-databases 요건 데이타베이스에 있는 모든 DB를 지칭합니다.
> 는 백업하는 방향을 나타내구여..
/home/cream/puclic_html/mysql/alldb.sql 의 위치로 alldb.sql 이란 이름으로 저장하라는 의미
입니다.
이렇게 하고 확인을 해보시면 alldb.sql 이라구 딱 나올거에여...
복구 하는 방법.
1. 우선 /var/lib/mysql 안에 있는 파일들을 모조리 지워주시구요.
2. [root@ns /]# mysql -uroot -p -A < /home/cream/public_html/mysql/alldb.sql 하신후
패스워드 입력.
3. mysql 재시작. /etc/rc.d/init.d/mysqld restart (RPM설치일 경우)
이렇게 해주시면 /var/lib/mysql/ 폴더 안에 지웠던 파일들이 새로 생성이 되어 있을거에요..
요렇게 해서 전체백업을 알아봤습니다.
사실 위와 같은 방법은 man 페이지를 이용해서 제가 알게된거랍니다.
서버를 관리 하시는 분들은 정말 man 이란 명령어가 얼마나 도움이 되는지 아실거에요..
정말 유용한 정보랑 옵션이 많거든요...man을 더 잘 사용하시면 위의 방법보다 더 좋은 방법이
나오실것 같네요...
그럼 좋은 정보가 되길 바랍니다..
mysql을 소스 설치가 아닌 RPM으로 설치한 Redhant 7.3이 깔린 Mysql을 기준으로 설명합니당..
음...일단 이 방법은 Root 권한이 있는 분들..즉, 서버 관리를 하시는 분들에게 유용할것 같네요...
우선 두가지 방법이 있는데여..
첫번째방법, - mysql 폴더를 전체 카피 한다.
cp -arv /var/lib/mysql /home/cream/public_html/mysql
/var/lib/mysql 안에 있는 내용들을 전부다 /home/cream/public_html/mysq 로 카피를 하라는
명령 입니다. cp 옵션에 -arv 에 대해서 설명을 하자면,
a : 원본 파일 또는 디렉토리의 속성과 시간 등을 그대로 복사.
r : 디렉토리를 복사할 경우 디렉토리에 포함된 모든 파일, 디렉토리까지 복사한다.
v : 복사되는 내용을 그대로 화면에 출력한다.
이런 내용입니당..
복사한 파일들을 잘 보관하신 후에 새로 설치하신 서버라던지 아니면 DB가 망가져서 다시 복구 하실때
/var/lib/mysql 폴더 안에 있는 내용을 지우신 후에 다시 넣어주고 mysql을 재시작 하시면 됩니다.
두번째방법. - mysqldump를 사용한다.
어떻게 보면 두번째 방법이 더 효율적이기도 하고 관리 하기도 편하다는 생각이 드네요..
이건 제가 쓰고 있는 방법인데요...저는 일주일에 한번씩 자동으로 cron을 돌려서
날짜별로 따로 전체DB를 저장 한답니다. 전체 백업 방법을 알아볼까용?
이 명령은 mysql 루트 권한이 있어야 실행되겠져?
[root@ns /]# mysqldump -uroot -p --all-databases > /home/cream/public_html/mysql/alldb.sql
설명을 하자면 mysqldump는 명령어를 말하구요..
-uroot 는 유저는 root 이고
-p는 패스워드를 지정해주는것이구요..root의 패스워드가 12345일때 -p12345 이렇게 하셔도 됩니다.
--all-databases 요건 데이타베이스에 있는 모든 DB를 지칭합니다.
> 는 백업하는 방향을 나타내구여..
/home/cream/puclic_html/mysql/alldb.sql 의 위치로 alldb.sql 이란 이름으로 저장하라는 의미
입니다.
이렇게 하고 확인을 해보시면 alldb.sql 이라구 딱 나올거에여...
복구 하는 방법.
1. 우선 /var/lib/mysql 안에 있는 파일들을 모조리 지워주시구요.
2. [root@ns /]# mysql -uroot -p -A < /home/cream/public_html/mysql/alldb.sql 하신후
패스워드 입력.
3. mysql 재시작. /etc/rc.d/init.d/mysqld restart (RPM설치일 경우)
이렇게 해주시면 /var/lib/mysql/ 폴더 안에 지웠던 파일들이 새로 생성이 되어 있을거에요..
요렇게 해서 전체백업을 알아봤습니다.
사실 위와 같은 방법은 man 페이지를 이용해서 제가 알게된거랍니다.
서버를 관리 하시는 분들은 정말 man 이란 명령어가 얼마나 도움이 되는지 아실거에요..
정말 유용한 정보랑 옵션이 많거든요...man을 더 잘 사용하시면 위의 방법보다 더 좋은 방법이
나오실것 같네요...
그럼 좋은 정보가 되길 바랍니다..
댓글 5
-
논리에러
2002.06.22 12:32
-
이휘은
2002.06.22 13:10
네..제가 빠트렸네요...
mysqldump -uroot -p --all-databases 가 맞습니다... -
백승희
2002.07.11 13:57
man도 좋지만 단시간에 가장빠른 사용법확인은 해당 명령어 다음에 --help 치면 대부분은 다 나옵니다.
mysqldump --help 엔터
그럼... -
송범섭
2002.09.03 00:30
도대체 어떻게 하라는거야? ㅡㅡ;
어디서 실행하는지 조차 모르는 바보에게
제대로 된 TIP을 가르쳐 주십쇼 -
박정호
2002.12.13 19:01
제목 | 글쓴이 | 날짜 |
---|---|---|
FTP 에 사용자추가후 로그인부분 추가하기 - 로그인 부분 [2] | DearMai | 2002.08.12 |
FTP 에 사용자추가후 로그인부분 추가하기 - 사용자추가부분 [5] | DearMai | 2002.08.12 |
VMware로 윈도우에서 리눅스 설치하기 [8] | 강민 | 2002.08.05 |
IIS 해당 IP를 제외한 모든 컴퓨터 접근 금지시키기 [1] | 오픈소스 | 2002.08.04 |
http://도메인/~아이디 를 http://도메인/아이디 로 ^^ [11] | 임현 | 2002.07.31 |
솔라리스와 리눅스의 chmod 다른점 [1] | 한꼬마 | 2002.07.31 |
오랜만에 올리는 팁이군요. - 웹호스팅 쉽게해보기! - [8] | 임현 | 2002.07.28 |
[mysql] create table select , insert into select | 불티나 | 2002.07.26 |
[mysql] load data - 파일을 테이블에 넣기 [1] | 불티나 | 2002.07.26 |
ASP + MS SQL 기반 게시판 설치하기 - 두번째 | 오픈소스 | 2002.07.12 |
ASP + MS SQL 기반 게시판 설치하기 - 첫번째 | 오픈소스 | 2002.07.12 |
[펌] 후다닥 apache 랑 php 업글하기 [8] | 임현 | 2002.07.12 |
제로보드 data 폴더 일괄적으로 소유권 변경 스크립트 [2] | 라지엘 | 2002.07.01 |
[보안] 아파치 1.3.x 공격툴 공개되다...06/24 [4] | 차카게살자 | 2002.06.28 |
특정 파일(ex: mp3,avi,mpg)만 찾아서 자동으로 삭제하기! | 임현 | 2002.06.27 |
Mysql 데이타베이스 백업및 복구(2)... [5] | 이휘은 | 2002.06.22 |
Mysql 데이타베이스 백업및 복구(1)... [7] | 이휘은 | 2002.06.21 |
간단팁 서버 Info! [4] | 임현 | 2002.06.21 |
한 통 내장형 모뎀으로 인터넷하기.. [1] | i- | 2002.06.19 |
리눅스에서 최강 p2p 공유프로그램 당나귀!! 서버를 운영해보도록하자~ [7] | 임현 | 2002.06.15 |
mysqldump -uroot -p --all-databases >alldb.sql 이렇게 하던지
mysqldump -uroot -p -A >alldb.sql 이렇게 하니까 되네요