이 기사에서는 주로 mysql의 mydumper와 mysqldump를 자세히 비교하고 사용하는 방법을 공유합니다. MySQL 데이터베이스 백업 도구에는 mysql의 공식 백업 도구인 자체 mysqldump가 있습니다. 그러나 타사 백업 도구인 mydumper는 뛰어난 기능으로 인해 더 많은 사람들이 사용하고 있습니다. 다음으로 테스트를 통해 이들 간의 백업 효율성을 검증하겠습니다.
몇 개의 테이블이나 단일 라이브러리만 백업하는 경우 mysqldump와 mydumper가 innobackup보다 편리하지만 mydumper는 멀티 스레드 백업, 정기적인 매칭 백업, 그룹화, 자체 테스트 기능 등 비교적 많은 기능을 추가합니다. 또한 mydumper와 mysqldump는 본질적으로 동일한 내보내기 논리 데이터이며 온라인 상시 대기 innodb를 지원하지 않습니다. 물론 innobackup을 사용하여 일부 테이블 데이터를 백업할 수도 있지만 mydumper 및 mysqldump와 동일한 유형의 백업 방법은 아닙니다. mysqldump이므로 아래에서는 mydumper와 mysqldump만 테스트합니다.
mydumper 내보내기
아래와 같이 mydumper 도구를 사용하여 8개 스레드로 테스트(9.4G) 데이터를 내보내고 압축합니다.
/data/mysql_bak 디렉터리에는 라이브러리의 각 테이블이 테이블 정의와 데이터라는 두 개의 파일로 저장됩니다. mydumper -B test --regex 'test.*' -c -e -G -E -R --use-savepoints -h 10.0.21.5 -u root -P 3301 -p xxxxxx -t 8 -o /data/mysql_bak/
# cat metadata Started dump at: 2017-05-19 10:48:00 SHOW MASTER STATUS: Log: mysql-bin.000406 Pos: 2165426 GTID:(null) SHOW SLAVE STATUS: Host: 10.144.127.4 Log: mysql-bin.000419 Pos: 506000361 GTID:(null) Finished dump at: 2017-05-19 10:50:03
mysqldump import
기본 mysqldump 도구를 사용하여 아래와 같이 라이브러리를 내보내고 압축합니다.
# time mysqldump -B test -E -R -h 10.0.21.5 -u root -P 3301 -p | gzip >/data/test.sql.gz Enter password: real 3m19.805s user 4m47.334s sys 0m10.395s
real 한 줄에 mysqldump의 전체 실행 시간은 199.8초
Summary
On임을 알 수 있습니다. 전체적으로 데이터가 많지 않기 때문에 mysqldump와 mydumper의 시간 차이는 크지 않으며 대부분 데이터 전송에 시간이 소요됩니다. 낮은 버전의 mydumper에는 다음과 같은 오류와 같은 상위 버전의 MySQL의 구문 변경으로 인해 내보내기 오류가 발생합니다. 상위 버전에도 여전히 이 문제가 있으므로 공식 github 코드를 참조하여 해당 코드를 수정할 수 있습니다.
관련 권장 사항:mydumper 원리에 대한 자세한 소개
사용 소개 MySQL 데이터베이스 백업 도구 Mydumper
위 내용은 mysql에서 mydumper와 mysqldump의 비교 및 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!