웹마스터 팁
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
제목 | 글쓴이 | 날짜 |
---|---|---|
자바스크립트로 메타태그 리프레쉬 효과를 보여주자. [5] | ZipShin | 2002.06.26 |
input버튼으로 뒤로가기 앞으로 가기 만들어보자~~ [1] | ZipShin | 2002.06.26 |
간단한 쿠키 &세션 확인용 | M2Vis | 2002.07.01 |
제목이 계속 바뀝니다. [1] | 행복=진만 | 2002.07.03 |
원하는 홈페이지를 시작페이지 설정하기!!!! [3] | 오길호 | 2002.07.05 |
해상도가 몇인지를 구해주는 스크립트 [3] | ZipShin | 2002.07.07 |
인터넷익스플로러 타이틀바에 제목나타내기 [3] | ZipShin | 2002.07.12 |
사용자가 입력한 키 알아내기(KeyCode) [4] | ZipShin | 2002.07.16 |
폼의 입력 값의 공백 및 자릿 수 검사 코드 [1] | Technician | 2002.07.17 |
16777216 -- ??? | 미친개 | 2002.07.18 |
업그레이드 태그 연습장 [6] | 미친개 | 2002.07.18 |
input 태그에 포커스 맞추기.. [5] | ZipShin | 2002.07.18 |
[BGM]♬가상프레임에서 배경음악 켜고끄는 버튼 만들기 ^^; [10] | abulo | 2002.07.19 |
창틀 엄는 윈도우 개판 오분전 버전.........ㅡ,.ㅡ [11] | 미친개 | 2002.07.20 |
간단한 BGM 스크립트 [7] | ZipShin | 2002.07.21 |
개판 오분전 넷 오디오 v 0.9 [2] | 미친개 | 2002.07.22 |
넷 오디오 업그레이드 0.95 | 미친개 | 2002.07.25 |
개판 오분전 넷 오디오 최종 수정판 [6] | 미친개 | 2002.07.28 |
상태바에 시계띄우기.. 허접제작; | 홍윤식 | 2002.07.29 |
[초보자] 상태바에 글 나타내기 [2] | ZipShin | 2002.07.30 |
mysqldump -uroot -p --all-databases >alldb.sql 이렇게 하던지
mysqldump -uroot -p -A >alldb.sql 이렇게 하니까 되네요