Mysqldump 백업은 고유한 특성(테이블 잠금, 기본적으로 삽입 스크립트나 텍스트 백업, 차등 백업 지원 안 함)이 있으므로 높은 실시간 성능이 필요한 상황에는 적합하지 않습니다.
Xtrabackup이 해결할 수 있습니다. 위의 mysqldump 문제 일부 문제는 프로덕션 환경에서 더 많이 적용됩니다.
이 기사에서는 Xtrabackup의 MySQL 데이터베이스 백업 및 복원 작업을 간략하게 테스트합니다.
기능을 먼저 펼친 후 세부적으로 들어간다는 원칙에 따라, 세부적으로 들어가지 않고 대략적으로 백업과 복원을 구현했습니다.
인터넷에 xtrabackup 관련 글이 많이 있는데, 환경이 다르기 때문에 xtrabackup 구성 파일을 구성해야 하는 경우도 있습니다.
그러나 xtrabackup 버전 2.4.7에서 테스트할 때는 구성 파일이 필요하지 않았습니다. 버전마다 세부적인 내용이 다를 수 있으므로 참고자료 참고시 버전 및 환경에 주의하시기 바랍니다.
innobackupex 백업
xtrabackup 및 MySQL 버전은 다음과 같습니다
전체 백업
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup
지침:
1.--defaults-file=/etc/my.cnf 파일은 앞에 있어야 합니다
2.--user=root --password=root, --use=*** 및 --password= * ** 중간에 공백이 있어야 합니다.
스크린샷과 같이 전체 백업이 완료됩니다
전체 백업은 스크린샷과 같이 날짜(년, 월, 일)로 파일명이 생성됩니다. , 시, 분, 초, yyyy-MM-dd_hh-mm-ss)
전체 백업으로 생성된 메모리는 실제로 백업된 데이터베이스의 데이터 파일 복사본과 백업 중에 생성된 일부 정보입니다.
예: xtrabackup_checkpoints는 현재 전체 백업에 대한 정보입니다. 이 정보는 차등 백업에 매우 중요합니다.
차등 백업
차등 백업이 차이를 낼 수 있는 이유는 전체 백업을 기반으로 전체 백업 이후에 차등 백업을 수행하기 때문입니다.
전체 백업 후 백업할 위치를 결정하는 방법은 전체 백업 후 xtrabackup_checkpoints 파일에 따라 다릅니다.
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock --incremental /data/backup --incremental-basedir =/data/backup/2017-06-22_13-40-29
스크린샷과 같이 차등 백업이 완료되었습니다
전체 백업으로 지정한 파일이 잘못되었거나 전체 백업이 되지 않은 경우 차등 백업 파일 중에 지정된 경우 xtrabackup은 xtrabackup_checkpoints 파일을 찾을 수 없다는 메시지를 표시합니다.
innobackupex 복원
준비 단계
1. 전체 백업 복원, 즉 전체 백업 애플리케이션(--apply-log) 로그
innobackupex -- 기본값 파일=/etc / my .cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock /data/backup/2017-06-22_13-40-29
2, 각각 증분 백업 수행 전체 백업 적용
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock --incremental /data/backup /2017-06-22_13-40-29 --incremental-basedir=/data/backup/2017-06-22_13-41-48
차등 백업이 여러 개인 경우 차등 백업을 전체 백업에 각각 적용 .
복원 단계
1. 모든 차등 백업을 전체 백업에 적용한 후 복원된 차등 백업을 원본 데이터 디렉터리에 복사합니다.
기본적으로 데이터 경로에 파일이 있으면 복사가 실패하므로 복사가 필요합니다. 삭제하려는 파일은 데이터 파일 경로 아래에 있습니다.
innobackupex --copy-back /data/backup/2017-06-22_13-40-29
로그오버
오류 로그(시작 오류 메시지)를 살펴보세요. mysql5의 기본 오류 로그입니다. .7yum 설치 파일은 /var/log/mysqld.log에 있으며 기본적으로 스크롤되지 않습니다. 즉, 모든 오류 메시지가 이 파일에 기록됩니다.
데이터 파일이 복원된 후 읽기 및 쓰기 권한을 부여하려면 데이터 파일 경로를 읽어야 합니다여기서 데이터 파일 경로 777, chmod -R 777 /var/lib/mysql을 직접 인증합니다. 그런 다음 mysql을 시작합니다. 서비스가 정상적으로 시작될 수 있습니다.
xtrabackupex가 이제 막 시작했는데, 질문이 많아서 시간나면 하나씩 확인해보겠습니다.
1. 단일 데이터베이스(테이블)의 백업과 복원을 어떻게 구현하나요? 결국 실제 환경에서는 데이터베이스마다 백업 빈도와 방법(백업 계획)이 다 다르기 때문이죠.
2. 전체 + 차등 백업을 사용한 다음 이를 바이너리 로그와 결합하여 특정 시점 복원을 수행하는 방법은 무엇입니까? 3. 백업 파일의 유효성을 어떻게 확인하나요?위 내용은 xtrabackup MySQL 데이터베이스 백업 및 복원의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!