2010-01-19 4 views
3

프로덕션 서버의 라이브 MySQL 4 데이터베이스 (하나의 스키마 만)의 복제본을 정기적으로 만들고 하나 이상의 개발 데이터베이스에서 가져와야합니다. 우리의 현재 프로세스는 데이터베이스를 'mysqldump'하고, ssh를 통해 복사하고 'mysql'클라이언트 유틸리티를 사용하여 대상 컴퓨터에 복원하는 것입니다.다른 서버에서 MySQL 데이터베이스를 효율적으로 복제

덤핑 및 복사는 비교적 빠르지 만 데이터베이스 스키마 (구조 + 내용)를 복원하는 데 몇 시간이 걸립니다. 복제 작업을 수행하는 데 시간이 덜 듭니까?

답변

2

load data infile을 사용하십시오. 이것은 덤프에서로드하는 것보다 훨씬 빠른 속도입니다. 운이 좋다면 파이프를 사용하여 데이터를로드 할 수 있습니다. 한 서버에서이 동일한 파이프로 데이터를 내보낼 수 있었다면 두 서버를 동시에 작동시킬 수있었습니다.

+0

우수한 David! 미리 (잠재적으로 변경된) 스키마 구조를 덤프하고 복원해야하지만, OUTFILE/INFILE을 사용하여 데이터를 복사하는 것은 현재 스크립트를 약간만 변경해야합니다. 감사! –

+0

기꺼이 도와 드리겠습니다. – David

1

내 데이터 볼륨에는 항상 mysqldump와 mysqldump가 충분하지만 - mysqlhotcopy은 cp/scp를 사용하여 데이터 디렉토리를 복사하므로 더 빠를 수 있습니다.

2

LVM 설정이있는 경우 for using LVM for mysql backup을 살펴보십시오. LVM을 사용하면 백업을 매우 빠르게 할 수 있습니다. 백업이 완료되면 스냅 샷을 대상에 복사하고 압축을 해제합니다. 그것은 mysqldump에서로드하는 것보다 빠릅니다.