2010-05-18 3 views
2

거대한 MySQL 데이터베이스 (약 10GB)가 있고 다른 서버 (slicehost)에 복사해야합니다. 나는 DB 덤프를하고 싶지 않고 다시 가져 오기 b/c 나는 그것이 영원히 걸릴 것이라고 생각합니다. 한 머신에서 다른 머신으로 원시 SQL 파일을 옮기고, 동일한 mysql 서버를 설정하고, 스위치를 뒤집을 수 있습니까?서버간에 mysql 파일 이동하기

답변

0

정상 작동합니다.

이 도구는 서버가 작동하는 동안 실행 되기는하지만 mysqlhotcopy 도구가 사용하는 원칙입니다.

+0

흠, 다른 시스템의 ssh 마운트 드라이브로 파일을 복사 할 수 있으며 여전히 '로컬'사본입니다. 어떻게 생각해? – tesserakt

+0

그렇지 않은 경우에도 mysqlhotcopy에는 scp를 사용할 수있는 옵션이 있습니다. 데비안 관리 (Debian Administration)에 원격 서버에 백업하는 방법에 관한 기사가 있습니다 : http://www.debian-administration.org/articles/311 – Powerlord

1

일반적으로 그렇습니다. 동일한 기본 아키텍처 및 서버 버전을 갖는 것이 바람직하지만 꼭 필요한 것은 아닙니다. 원본 파일이 일관된 복사본이되도록 원본 서버를 중지하십시오.

내 dev 데이터베이스를 덮어 쓸 때 항상이 작업을 수행합니다. 서버가 멈 추면 /var/mysql까지 찢어서 만든 복제본에 백업이 있습니다. 나는 그들을 다른 기계로 이동하고 iblogibdata을 덮어 쓰고 mysqltest을 제외한 data의 모든 디렉토리를 덮어 씁니다.

+0

그럼이 권리를 갖도록하겠습니다 : 서버를 중지하고 일관성? 나는 이것이 mysqlhotcopy보다 일관성있는 이점을 가질 것이라고 생각하고있다. 얼마나 시간이 걸려요? 서버 중지가 그만한 가치가 있는지 없는지를 생각하고 있습니다. – tesserakt

+0

mysqlhotcopy보다 일관성있는 이점을 반드시 가질 필요는 없지만 빠릅니다. 원격 서버에 복사하는 경우 데이터베이스가 실행되는 동안 파일을 복사하고 데이터베이스를 중지 한 다음 rsync를 실행하여 서버 중단 시간을 최소화 할 수 있습니다. 로컬에서 파일을 복사하는 것은 매우 빠릅니다. 특히 하나의 실제 디스크에서 다른 디스크로 복사하는 경우 더욱 그렇습니다. –

0

"거대한"데이터베이스가 없으므로 10G에 작은 데이터베이스가 있습니다. 따라서 덤프/복원이 문제가되지 않아야합니다.

파일을 직접 복사하면 일부 상황에서 작동하지만 덤프/복원이 훨씬 효율적입니다 (즉, 문제 발생 가능성이 적음).

확실히 동일한 버전의 mysql 및 데이터 크기를 가진 비 프로덕션 시스템에서 프로덕션 환경에서 작동하는지 확인하십시오.

관련 문제