MySQL 덤프 및 가져 오기 속도를 높이기위한 문서화 된 기술이 있습니까?
여기에는 램 디스크 등을 사용한 my.cnf 설정이 포함됩니다.
잠재적 인 속도 향상을 보여주는 벤치 마크와 함께 문서화 된 기술 만 찾습니다.
http://www.maatkit.org/ 에는 mk-parallel-dump 및 mk-parallel-restore가 있습니다
멀티 스레드 mysqldump를 원한다면 더 이상 원하지 않습니다. 이 도구는 MySQL 테이블을 병렬로 덤프합니다. mysqldump에 대한 래퍼 (기본 동작이 적절 함) 또는 SELECT INTO OUTFILE 주변의 래퍼 역할을 할 수있는 훨씬 똑똑한 mysqldump입니다. 속도가 중요한 큰 데이터 크기의 고성능 응용 프로그램을 위해 설계되었습니다. 여러 CPU와 디스크를 활용하여 데이터를 훨씬 빠르게 덤프합니다.
Mysqldump에는 덤프를 가져 오는 동안 인덱스를 작성하지 않고 완료시 일괄 처리하는 등 다양한 잠재적 옵션이 있습니다.
InnoDB로 가져 오는 경우 가장 효과적인 방법은
innodb_flush_log_at_trx_commit = 2
가져 오기가 실행되는 동안 my.cnf
ACID가 필요한 경우 1
로 되돌릴 수 있습니다.
귀하의 질문은 병목 현상의 위치에 달려 있다고 생각합니다.
-C
/--compress
플래그를 mysqldump
로 볼 수도 있습니다.또한 mysqldump
(및 MyIsam을 사용하는 경우 --quick
)에 대한 --disable-keys
플래그를 살펴보십시오.
덤프에서 확장 인서트를 사용하면 가져 오기 속도가 빨라집니다.
외래 키 검사를 끄고 자동 커밋을 켭니다.
MyIsam 테이블 만있는 경우 mysqlhotcopy
대신 사용할 수도 있습니다.