I. 머리말:
데이터베이스 서버를 설정 하 고, 우선 우리가 할 필요가 되지 않습니다 고려해 MySQL 사용이 가능한 프로그램이이 데이터베이스를 지 원하는 서버에서 실행 하는 데이터베이스 데이터의 손실을 최소화 손상 된 후 마지막 정상 상태로 복구 하는 방법.
또는, 그냥 데이터베이스 서버의 설립 수 있습니다만 무엇을 할 수, 그것은 뭔가 할 수 의미 하지는 않습니다 안정. 효율성과 재해 복구의 포괄 또한 서버 시스템에 대 한 특히 시스템 안정성의 유사 요소입니다.
이 섹션을 데이터베이스 손상 되었습니다 후 자동 데이터베이스 백업 및 복구에 대 한 방법을 설명 합니다. 우리가 여기, mysqlhotcopy를 사용 하 여 데이터베이스 백업을 자동화 하는 쉘 스크립트를 정의 하 고 전체 데이터 자동 백업 및 데이터 복구 프로세스는 쉘에 따라.
데이터베이스 백업 설정 하는 데 필요한 조건
[1] 설정 자동 백업 스크립트
여기, 우리의 실제 요구 사항에 맞게 데이터베이스 백업 및 복구에 대 한 순서, 일관 된 쉘 스크립트 전체 백업 과정을 자동화 하는 데 사용 됩니다.
[Root@centos ~] # 6 mysql backup.sh← 설정 데이터베이스 자동 백업 스크립트를 다음과 같습니다:
#! / 빈/bash
경로 = / usr/지방/sbin: / usr/빈: 빈
/
#
백업 디렉터리
Backdir = / 백업/mysql
# MySQL
의 암호
rootpass = * * * 여기, MySQL 루트 암호
별표를 바꿉니다
# 리 메이크 백업
의 디렉토리
RM-RF $BACKDIR
mkdir-p $BACKDIR
#는 데이터베이스 이름
를 얻을
dblist = ' Ls-p/var/lib/mysql | grep / | tr-d /'
# 백업 데이터베이스
$DBLIST
에서 dbname에 대 한
마
mysqlhotcopy $dbname-u 루트-p $ROOTPASS $BACKDIR | 로 거-t mysqlhotcopy
완료
[2] 데이터베이스 자동 백업 스크립트 실행
[Root@centos ~] # chmod mysql backup.sh 변경 스크립트 속성 그것만 루트 사용자
에 의해 실행 될 수 있도록
[Root@centos ~]#./mysql-backup.sh 스크립트를 실행된
[Root@centos ~] # ls-l/백업/mysql/확인 백업이 성공
는
총 8
drwxr-x---2 mysql mysql 4096 1 년 9 월 16시 54분 MySQL는 성공적으로 백업/백업/mysql 디렉토리
[3] 매일 자동으로 실행 하는 데이터베이스 백업 스크립트 만들기
[root@sample ~] # crontab-e←는 규칙을 편집 하는 자동으로 (당시 편집 창이 나타납니다, VI로 작업)
* * * */root/mysql-backup.sh 파일에이 줄을 추가 하 고 모든 하루
아침에는 데이터베이스 백업 3 시 확인
자동 백업 (백업 복구의 방법)의 정상 작동을 테스트
여기, 문제 후 복구 방법을 소개 하는 실제 작업 과정을 통해 발생 합니다.
[1] 복구 방법은 데이터베이스 삭제 될 때
먼저, 테스트 데이터베이스를 설정 합니다.
[root@centos ~] # mysql-u 루트-p← 루트
와 MySQL 서버에 로그온
입력 암호: ← MySQL 루트 암호
입력
MySQL 모니터에 오신걸 환영. 명령 끝에 또는 g.
당신의 MySQL 연결 ID는 서버 버전: 4.1.20
8
유형 '도움' 또는 'h'에 대 한 도움말. 'C'는 버퍼를 입력 합니다.
mysql > 데이터베이스 만들기 테스트; ←는
테스트 테스트 데이터베이스 만들기
쿼리 확인, 1 행의 영향을 (0.00 초)
mysql > test←를 사용 하 여이 데이터베이스
에 연결
데이터베이스 변경
mysql > 테이블 만들기 테스트 (num int, 이름 varchar (50)); ←는 데이터베이스
에 테이블을 만들려면
OK 검색어, 0 행 (0.07 초)의 영향
는
mysql > 삽입 테스트 값 (1, ' 안녕하세요, centos'); ←가이 테이블에 삽입 한 값 (여기에 "안녕하세요, centos" 걸릴 예)
쿼리 확인, 1 행의 영향을 받는 (0.02 초)
Mysql > 선택 * 테스트; ←는 데이터베이스
의 내용을 볼합니다
+------+-----------------+
| num | 이름 |
+------+-----------------+
| 1 | 안녕하세요, centos | ← 그냥 테이블
에 삽입 되는 값의 존재 확인
+------+------------------+
세트 (0.01 초)
에서
1 행
mysql > exit← 종료 MySQL 서버
안녕