간단한 데이터베이스가 있는 데비안 시스템에 적합한 백업 전략은 무엇입니까? [폐쇄]

간단한 데이터베이스가 있는 데비안 시스템에 적합한 백업 전략은 무엇입니까? [폐쇄]

간단한 데이터베이스를 운영하는 소규모 기업에 적합한 백업 전략이 궁금합니다. 전체 시스템은 내부 하드 드라이브가 있는 로컬 컴퓨터에 의해 실행됩니다. rsync및 같은 몇 가지 백업 유틸리티를 살펴봤지만 dump이러한 유형의 시나리오에 어느 것이 더 적합한지 잘 모르겠습니다.

rsync구체적인 예로, MySQL과 같은 백업 유틸리티가 데이터베이스(MySQL)에서 데이터를 복사하여 외장 하드 드라이브에 저장하는 데 적합한 지 알고 싶습니다 .

답변1

물어,

데이터베이스(MySQL)에서 데이터를 복사하는 데 rsync와 같은 백업 유틸리티가 적합한가요?

여기서 대답은 단호하게 "아니요!"입니다.

SQL Server 기반 백업을 수행할 때 MySQL을 종료 할 준비가 되어 있지 않으면 rsync백업에서 데이터베이스가 손상될 것이 거의 확실합니다. (라이브 시스템은 영향을 받지 않고 정상적으로 작동합니다.) 그 이유는 데이터베이스 시스템이 서로 다른 시간에 서로 다른 파일의 서로 다른 부분을 업데이트할 수 있고 업데이트할 것이기 때문입니다. rsync이를 무시하고 발견된 파일을 복사하십시오.

예를 들어, 서로 관련된 두 파일 A와 B를 생각해 보세요. A는 에 복사됩니다 rsync. 이 프로세스 동안 B는 데이터베이스 시스템에 의해 업데이트됩니다. 이제 데이터베이스 시스템은 A에 관련 업데이트를 적용하지만 rsyncA를 완료하고 B 업데이트를 시작했습니다. 이제 백업에는 두 개의 "유효한" 파일 A와 B가 포함되어 있지만 서로 동기화되지 않았습니다.

데이터베이스를 백업하려면 데이터베이스 시스템을 이해하는 도구를 사용해야 합니다. MySQL 패키지에는 이러한 도구가 포함되어 있으므로 이를 사용하여 데이터베이스를 백업해야 합니다. (그런 다음 rsync또는 기타 선호하는 유틸리티를 사용하여 결과 데이터베이스 백업을 외부 디스크 드라이브에 복사 할 수 있습니다 .)

답변2

일반적으로 말하면 그렇지 않습니다. 데이터베이스는 백업의 일관성을 보장하기 위해 특별히 제작된 유틸리티를 사용하여 백업해야 합니다(예: 절반 커밋된 트랜잭션 없음 등). 실제로 이는 복사를 시도하는 동안 기록되는 모든 파일에 해당됩니다. 데이터를 기록하는 프로그램의 도움 없이는 일관된 백업을 얻는 것이 어렵습니다.

(따라서 MySQL을 종료하면 rsync를 사용할 수 있습니다. 하지만 사람들은 일반적으로 데이터베이스를 계속 실행하고 싶어합니다.)

mysqldumpPercona의 XtraBackup부터 . 둘 다 Jessie에서 사용할 수 있습니다(Wheezy의 경우에도 마찬가지이지만 xtrabackup에는 타사 저장소를 추가해야 할 수도 있습니다).

관련 정보