강점과 약점의 MYSQL 자동 백업 전략 및 분석을 선택

현재 인기있는 몇 가지 백업 방법입니다 :
1, 논리적 백업 :
백업되어 사용 MySQL의 mysqldump는 도구입니다. SQL 파일로 백업.
장점 : 가장 큰 장점은 자동으로 MySQL을 실행 작업 할 수있는 기능입니다
백업이 시점 것을 보장하기 위해 작동시, 자동 잠금 조작 대응 테이블, 다른 사용자 (전용 액세스를) 수정할 수 없습니다 것입니다. 당신은 수정 작업을 방지 할 수 있습니다. SQL 파일 일반 휴대 편리.
단점 : 백업 속도가 느립니다. 데이터의 양이 시간을 많이합니다. 아주 시간이 많이 소요. 데이터베이스 서버가 상태 서비스의 사용자가 사용할 수있는 경우,이 긴 작업의 과정에서, (이 읽기 전용으로 만 쓸 수 있습니다 일반적으로 읽기 잠금을) 테이블을 잠그는 것을 의미했다. 그런 다음 서비스가 영향을받습니다.
참고 : 실제로 같은 읽기 전용 수있는 모든 테이블을 잠금으로 MySQL 서버를 제어하는 매개 변수를 추가하는 의미 MySQL 서버 작업을 자동으로 소위 쓸 수 없습니다.
테이블-모든 --- 잠금
2, 물리적 백업 :
MySQL의 데이터 디렉토리의 직접 복사. 단점은, 당신은 (당신이 그 시간에 데이터를 백업 할 수 있도록 사용자가 복사에서 응용 프로그램 프로세스를 통해 업데이트 데이터에 대한 액세스) 서버 운영 mysql을 실행 갈 수 없어
다른 기계가 이동에 휴대하지 않을 수 있습니다.
의 MyISAM은 테이블의 직접 복사 유형에 적용됩니다. 이러한 유형의 테이블은 기계 독립적이다. 그러나 현실은 당신이 데이터베이스를 설계 할 수있는 모든 사용의 MyISAM 타입의 테이블입니다. 당신은 할 수 없습니다 :의 MyISAM 타입의 테이블과 독립적 인 기계, 이식에 쉽게, 그래서 그들은이 테이블을 선택할 수 있기 때문에,이 그것을 선택하는 이유는 없습니다.
더 자주, 당신은 사업의 특성을 기반으로합니다, 쿼리 속도와 서비스 성능은 테이블의 유형을 선택합니다 (예를 들어, 트랜잭션 메커니즘이 이노을 사용해야합니다 지원해야).
우리는 테이블을 사용하지 않을 있는지 확인해야합니다.
표에 변경 서버가 사본 인 경우, 사본은 그 중요성을 잃게됩니다.
데이터베이스 테이블은 파일 시스템 백업에 변경되었을 경우, 일관성없는 상태 테이블 파일 제목에 백업하고, 나중에 검색 테이블은 의미가 될 것이다.
당신의 사본의 무결성을 보장하는 가장 좋은 방법은 다음과 같습니다 다음 서버를 다시 시작, 파일을 복사, 서버를 종료합니다.
또는, 해당 테이블 (프런트 엔드 사용자에 대한 원인 액세스 문제)를 잠 그려.
설명 복사 파일을 직접 왜 휴대가?
생성 mysqldump는 심지어 시스템의 다른 하드웨어 구성의 텍스트 파일을 갖는 다른 기계에 이식된다. 당신이 MyISAM 테이블 스토리지 포맷을 사용하여 복사 할 않는 문서의 사본은 다른 머신에 직접 이식 할 수 없습니다. 단지 동일한 하드웨어 구성을 갖는 복사기 사이 ISAM 테이블. 예를 들어, 인텔의 Solaris 시스템 (또는 그 반대)로 S PARC의 Solaris 시스템에서 파일 복사는 가능하지 않습니다. 형식이 기계 독립적이기 때문에의 MyISAM 테이블 스토리지 포맷의 도입으로 MySQL3.23 것은이 문제를 해결합니다. 다음의 두 가지 조건이 충족되는 경우, 따라서, 파일은 상이한 하드웨어 구성을 갖는 복사기로 직접 전달 될 수있다 : 다른 시스템보다 MySQL3.23 버전보다 실행되어야한다, 즉, 파일이 MyISAM 테이블로 표현되어야하며 ISAM하지 테이블.
3, 핫 백업.
MySQL 데이터베이스는하지 증분 백업 메커니즘을 수행합니다. 데이터가 너무 큰 경우, 백업은 큰 문제가됩니다. 다행히, (즉, 핫 스탠바이) 백업기구로부터 마스터 MySQL 데이터베이스가 제공되는
대량의 데이터 시간 : 장점. 지금은 이해합니다. MySQL의 데이터 백업을 위해 대형 인터넷 기업, 핫 백업입니다. 여러 데이터베이스 서버, 마스터 - 슬레이브 복제를 설정합니다.
자주 발생하는 마스터 - 슬레이브 복제 문제는 지체하지 않는, 데이터가 차단되지 않도록하는 방법이다. 이 문제는 여전히 허용 될 수, 프로그램의 숫자가 개선 될 수있다. 결국, 트레이드 오프. 이 방법의 매우 걱정과 노력이다.

: 나는 현재 백업 전략의 종류가 사용되어야 하는지를 무게
물론, 최적의 컴퓨터에 저장되어있는 물리적 백업, 신속한 복구를. 백업이 좋은 내가 이제 물리적 또는 논리적 백업을 사용하고?
고려 후 플랫폼을 마이그레이션. 위해서는 다양성을 보장합니다. 1 분 정도의 복구 속도 차이가 나는 용납 할 수 있습니다. 그래서 크로스 플랫폼, 나는 논리적 백업을 사용하는 것이 더 기꺼이. SQL 파일 저장 형식입니다.
이중 핫 백업 모드는 더 이상 하드웨어가 없다. 유한 기술 직원, 너무 많은 문제를 유지하는 인력이 필요합니다. 따라서 제외.
해결 방법 :
1, 전체 전략 : 예약 된 작업을 작성합니다. 저녁이나 이른 아침 자동 백업의 타이밍 (에 관계없이 데이터베이스 서버의 작동 중에 종료 할 수 없습니다)
, 성공적인 백업 이후 이전 코드를 삭제합니다. 많은 양의 데이터가 디스크를 차지하지 마십시오.
2 계정으로 데이터의 초기 부피 복용 정도로 작다. mysqldump를 백업을 사용합니다. 몇 자동 백업 (4-6 지점이 시간은 기본적으로 아무도 방문하지) 때 이른 아침에 설정합니다.
3, 논리적 백업을 사용 : 내가 허용 될 수 약 1 분의 속도 차이를 복원합니다. 그래서 크로스 플랫폼, 나는 논리적 백업을 사용하는 것이 더 기꺼이. SQL 파일 저장 형식입니다.
(4)는 매일 백업됩니다.
이 데이터베이스 서버에 액세스 할 때 아침에 잠글 mysqldump를이기 때문입니다. 서버에 거의 영향을주지. 그것은 매일 백업 할 수 있습니다. 매일 SQL 파일이 있습니다. 그래서 파일의 많은 것이다.
따라서, 각 백업의 성공 후. 이전 파일을 삭제합니다. 지난 주 SQL 백업 파일을 보관하십시오.

경로 백업 도구 :는 / usr / 빈 / mysqldump를의
백업 데이터 저장 경로 : 데이터 / backdata / /
5, 백업 스크립트 작성
아이디어 :
5.1 (이 도구는 디스크 최대에 SQL 파일을 생성 할 수 있습니다) 쉘 스크립트에서 mysqldump를 생성 된 백업 파일을 호출
위해 5.2 미래의 검색을 용이하게합니다. 각 백업 로그 형태로 기록. 일부는 어떤 파일 이름을 생성, 백업 작업이었다. 그래서 당신은 성공적인 백업 후 일이 쉬운 일이 아닙니다 있는지 확인할 수 있습니다
로그 정보로 파일 삭제도 기록됩니다.
5.3? 리눅스 호출 스크립트 실행에서의 crontab 프로세스를 보자.
명령 : -e crontab에
열려있는 파일이 코드를 추가 : 005 * * * 스크립트 경로 /mysqlback.sh의
mysqlback.sh의 내용 :
# / 빈 / bash는
DB_NAME = "****"
DB_USER = "**** "
DB_PASS ="**** "
Bin_dir ="은 / usr / bin에 "
BACK_DIR ="/ 데이터 / backdata "
DATE ="+ MySQL을 `date '는 Y %의 m %% D- %의 H %의 m %의 S' ` "
LogFile에 ="$ BACK_DIR는 "/dbbakup.log # 로깅 디렉토리에 저장
BackNewFile = $ DATE입니다.
SQL $ BIN_DIR / mysqldump에 --opt --force -u $의 DB_USER? -p $ DB_PASS $ DB_NAME> $ BACK_DIR / $ DATE.sql

에코 ----------------------- "$ (일자 +"% Y- % M- % D % H %의 M %의 S ")"- ---------------------- >> $ 로그 파일

에코? CreateFile에 "$ BackNewFile">> $ 로그 파일

#find "/ 데이터 / backdata /"+1 -cmin F 형 -name "* .SQL"-print> deleted.txt
-ctime +7 F 형 -name "* .SQL 찾기"/ backdata / / 데이터 " "-print> deleted.txt
에코 -e"파일을 삭제합니다 : \ n ">> $ 로그 파일
#循环删除匹配到的文件
고양이 deleted.txt | 읽기 라인은 동안
어떻게
? RM은 -rf $ 라인
? 에코 $ 라인 >> $ 로그 파일은
수행

에코 "------------------------------------------------ --------------- ">> $ 로그 파일

추천

출처www.cnblogs.com/mylover2/p/11015856.html