mysqldump를 사용하여 500GB 데이터베이스의 빠른 백업 및 복원을 늘리는 방법은 무엇입니까?


10

데이터베이스 크기는 500GB입니다. 데이터베이스 A의 테이블에는 MyISAM 및 INNODB 테이블이 모두 포함됩니다. MyISAM 테이블은 마스터 테이블이고 Innodb 테이블은 기본 트랜잭션 테이블입니다.

mysql 덤프를 사용한 백업 및 복원 시간이 오래 걸리거나 며칠이 걸립니다.

  • max_allowed_packet = 1G
  • foreign_key_checks = 0
  • auto_commit = 해제

1
mysqldump 유틸리티와 함께 ​​--opt를 사용하고 있는지 확인하고 싶습니다. 새로 고침 할 때 시간을 크게 절약 할 수 있습니다. 그것없이 mysqldump는 SQL 파일을 행 단위로 만듭니다. --opt does : 모든 생성 옵션을 활성화 한 상태에서 잠금을 추가하고, 삭제 및 재 작성하고, 빠른 재로드를 위해 키를 일시적으로 비활성화 한 다음 마지막에 키를 다시 켜서 쓰기가 완료된 후 인덱스를 다시 작성합니다. 삽입에서 여러 행을 연결하여 각 명령문의 파일 크기 및 구문 분석 시간을 최대 70 %까지 줄이고 실행시 덤프 DB에 대한로드를 줄일 수 있습니다. 로드 시간을 80 % 단축
ppostma1

답변:


5

그러나이 링크는 또한 Percona의 XtraBackup을 권장합니다. Percona는 이미 사용중인 테이블을 잠그지 않고 복원 할 시간이없는 빠른 속도입니다. 500GB의 데이터의 경우 기존 DB 서버가 아닌 경우 innodb_file_per_table 모델로 변환하지 않는 한 Percona XtraBackup을 빠르고 효율적으로 선호합니다. 아래 링크는 진행 방법을 설명합니다.

http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html


1
Percona Xtrabackup의 문제점 은 데이터베이스를 복원하려면 mysqld를 중지 해야한다는 것 입니다.
dr_

2

mydumper를 확인하십시오. mysqldump보다 훨씬 빠릅니다. 새로운 mydumper 0.6.1 릴리스는 성능과 유용성 기능을 제공합니다

https://github.com/maxbube/mydumper 에서 다운로드 할 수 있습니다.

MyDumper 란 무엇입니까? 왜?

  • 병렬 처리 (따라서 속도) 및 성능 (고가의 문자 세트 변환 루틴을 피하고 전체적으로 효율적인 코드)
  • 손쉬운 출력 관리 (테이블 용 별도 파일, 메타 데이터 덤프 등, 데이터보기 / 파싱 용이)
  • 일관성-모든 스레드에서 스냅 샷을 유지하고 정확한 마스터 및 슬레이브 로그 위치 등을 제공합니다.
  • 관리 효율성-데이터베이스 및 테이블 포함 및 제외를 지정하기위한 PCRE 지원

1

문제는 다른 백업 솔루션이 아닌 mysqldump의 중단 된 덤프 파일에서 더 빨리 복원하는 방법에 관한 것입니다.

이를 수행 할 수있는 방법 중 하나는 스키마에서 테이블 그룹을 작성하고 각 그룹에 대해 별도의 DB 사용자를 작성하고 MySQL 권한을 사용하여 한 명의 DB 사용자를 제외한 모든 사용자에게 테이블을 삽입 할 수 없도록하는 것입니다.

이것은 입증 된 빠르고 거의 평행 한 기술이지만 500G에서 복원하는 데 걸리는 시간은 100 % 확실하지 않습니다. 그러나 imho, 당신은 평행 한 것이 필요합니다. 예를 보려면 아래 링크를 참조하십시오.

MySQL 용 SQL 덤프 (mysqldump)에서 빠른 병렬 복원


1

innobackupex로 다음을 시도하십시오.

innobackupex --parallel=7 --rsync  /var/mysql/backup

병렬 프로세스 번호를 원하는대로 변경할 수 있습니다. myisam 테이블이 있다고 언급 했으므로 "rsync"매개 변수는 백업 속도를 높이는 데 도움이됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.