SQL > MYSQL - LIBRARY > mysql DB 자동 백업 설정 하기
 
SQL
MYSQL
MS-SQL
ORACLE
 
 
MYSQL - LIBRARY
  HOME > SQL > MYSQL - LIBRARY
 
mysql DB 자동 백업 설정 하기
작성일 : 10-09-16
조회 : 5,288  
우선
root 아래에 backup.sh 라는 스크립트를 작성한다.

# vi /root/backup.sh

이후 아래 내용을 기재해 준다.

#!/bin/bash
/usr/local/server/mysql/bin/mysqldump -uroot -p비밀번호 mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql
/usr/local/server/mysql/bin/mysqldump -uDB계정 -p비밀번호 sskim > /백업경로/백업파일명_db_bak_$(date +%Y%m%d).sql
mv *.sql /이동경로
tar cvfpz mysqlbackup.tar.gz /backup/*
tar cvfpz 압축파일명.tar.gz /압축된 백업파일 저장위치/
find /backup -ctime +3 -exec rm -f {} \;

내용을 설명하자면..
#!/bin/bash   -> 쉘 스크립트를 생성
/usr/local/server/mysql/bin/mysqldump -uroot -p비밀번호 mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql
-> mysql이 설치된 곳에 mysqldump를 이용하여 백업을 진행
mv *.sql /backup
-> 모든 .sql 파일을 /이동경로로 옮김
tar cvfpz mysqlbackup.tar.gz /backup/*
-> 백업된 파일을 tar를 이용하여 지정한 위치로 압축
find /backup -ctime +3 -exec rm -f {} \;
-> 날짜를 체크하여 3일이 경과된 파일을 찾아 삭제

내용은 대충 이렇다. ㅡ.ㅡ;;

이후 :wq 를 이용하여 저장

# chmod 100 /root/backup.sh
명령을 통하여 권한을 부여한다. (즉 이 파일은 수정하지 못하게 함. ^^;)

# crontab -e
명령어 이후에 아래 내용을 삽입
00 06 * * * /root/backup.sh
-> 이내용은 매일 6시에 백업을 진행하라는 뜻.

위와 같이 진행한 이후
/var/spool/cron/root 가 있다면 정상적으로 된 것임.

확인은 경로로 지정한 폴더에 가보면 정상적으로 백업이 되어 있다는 것...

만약 안된다면....
# /etc/init.d/cron restart
를 이용하여 재시작 후 다시 한번 정상적으로 되는지 확인한다.



복구 방법

# mysqldump -u db계정 -p 백업할 db_name > 파일명

위 명령어 실행 후 passward 입력후 db 복구 완료


------------------------------------------------------------------------------------
특정 테이블만 백업할 때
>> msqyldump -u root -p -e [database] [table] > backup.sql
모든 데이터베이스
>> msqyldump -u root -p -e --all-databases > backup.sql

특정 데이터베이스
>> msqyldump -u root -p -e --databases [database1] [database2] > backup.sql

복구할 때
>> mysql -u root -p < backup.sql
-----------------------------------------------------------------------------------

덩벙이 14-05-13 13:44
 
mysql 전체백업

mysqldump -u root -p --all-databases > dump.sql

mysql 전체복구

mysql -u root -p < dump.sql
 
 

Total 13
번호 제   목 조회
13 mysqladmin 사용법 1331
12 mysql 스트링 함수들 1864
11 PHP 와 MySQL 을 사용시 트랜잭션을 처리하는 방법 입니다. 2327
10 mysql DB 자동 백업 설정 하기 (1) 5289
9 Mysql 날짜관련 함수 모음 4238
8    Mysql 날짜함수를 이용한 데이터 가져오기 (date_add, date_sub… 3986
7 JOIN 문 left outer join 2805
6 MySql 기본명령어 모음[콘솔사용시] 3544
5 MySQL 덤프방법(dump) 4599
4 MySQL 에서 사용되는 sql문 정리[DB 자체 처리] 2287
3 mysql 유저 생성, 권한 부여 2881
2    mysql 유저 생성, 권한 부여 4910
1    mysql 유저 생성, 권한 부여 2
 
개인홈페이지 덤벙닷컴은 프로그래머와 디자이너위한 IT커뮤니티 공간입니다.
Copyright ⓒ www.dumbung.com. All rights reserved.