2. DBMS이야기/02. MySQL

MySQL에서 Replication을 사용할 때 Backup 하는 방법

OSSW(Open Source System SoftWare 2014. 11. 19. 16:43

이는 상기 기술과 백업 데이터 MySQL의 복제를 사용하는 것이 가능하다.


복제는 다른 (마스터 마스터)에 서버 중 하나에 대한 변경 사항을 다른 서버 (마스터 - 슬레이브)에 하나의 서버에서 데이터를 미러링 또는 미러링의 과정이다.


복제 데이터 미러링 수 있지만, 그것은 당신이 특정 시점을 저장하려고 할 때 겪고있다. 그것은 항상 동적 시스템의 변경을 복제되기 때문이다.


이 문제를 방지하려면 :


1) 일시적으로 복제 하지 않음

2) 일시적으로 백업 시스템은 읽기 전용 확인


Disabling Replication Temporarily



당신은 실행하여 일시적으로 슬레이브 복제를 사용하지 않도록 설정할 수 있습니다 :

mysqladmin -u user_name -p stop-slave
완전히, 말하자면, 복제를 중지하지만, 일시에두고하지 않는 또 다른 옵션을 입력하여 수행 할 수 있습니다 :


mysql -u user_name -p -e 'STOP SLAVE SQL_THREAD;'
복제가 정지 된 후에는 백업 상기 방법 중 하나를 사용하여 할 수있다. 이 슬레이브를 백업하는 동안 온라인 마스터 MySQL 데이터베이스를 유지할 수 있습니다.

이 작업이 완료되면, 입력하여 복제를 다시 시작합니다


mysqladmin -u user_name -p start-slave

Making the Backup Machine Read-Only Temporarily




또한 데이터가 읽기 전용 일시적하여 서버 내 데이터의 일관성을 보장 할 수 있습니다.


당신은 마스터 또는 슬레이브 시스템 중 하나에서 다음 단계를 수행 할 수 있습니다.


우선, 데이터를 조작하기에 충분한 권한의 MySQL에 로그인 :

mysql -u root -p 
다음으로는 디스크에 캐시 된 모든 변경 사항을 작성하고 읽기 전용-입력하여 시스템을 설정할 수 있습니다 :
FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = ON;

이제, mysqldump는을 사용하여 백업을 수행합니다.

백업이 완료되면, 입력하여 원래의 작동 상태로 시스템을 반환 :

SET GLOBAL read_only = OFF;
UNLOCK TABLES;

A Note About Techniques That Are No Longer Recommended

mysqlhotcopy

MySQL은 신속하게 "mysqlhotcopy를"라는 데이터베이스를 백업하는 펄 스크립트를 포함하고 있습니다. 이 도구는 로컬 시스템에 신속하게 데이터베이스 백업에 이용 될 수 있지만, 우리는 그것을 추천 방지하게 한계가있다.


그것은 단지 "의 MyISAM"와 "아카이브"스토리지 엔진을 사용하여 저장된 데이터에 대해 작동하기 때문에 우리가 여기 mysqlhotcopy를의 사용을 포함하지 않습니다 가장 중요한 이유입니다.


대부분의 사용자가 MySQL을 5.5에서 시작하여 자신의 데이터베이스에 저장 엔진을 변경하지 않으며, 디폴트 스토리지 엔진은 "InnoDB는"이다. 이런 유형의 데이터베이스는 mysqlhotcopy를 사용하여 백업을 할 수 없다.


이 스크립트의 또 다른 한계는 단지 데이터베이스 저장 보관되어 동일한 머신에서 수행 될 수 있다는 것이다. 이것은 어떤 상황에 큰 제한이 될 수있는 원격 시스템에서 실행중인 백업을 방지 할 수 있습니다.

Copying Table Files



때때로 제안하는 다른 방법은 단순히 MySQL이에 데이터를 저장 테이블 파일을 복사한다.


이 접근법은 "mysqlhotcopy를"같은 이유 중 하나로 고통입니다.


이 파일에 데이터를 저장하는 스토리지 엔진이 기술을 사용하는 것이 합리적이지만, InnoDB에, 새로운 기본 스토리지 엔진은, 이러한 방식으로 백업 할 수 없습니다.

Conclusion

MySQL의에서 백업을 수행하는 여러 가지 방법이 있습니다. 모두 자신의 장점과 약점을 가지고 있지만, 일부는 다른 사람보다 구현하기가 훨씬 더 쉽고 광범위하게 유용하다.

당신이 선택하여 배포 할 백업 방식은 개인의 필요와 자원뿐만 아니라 프로덕션 환경에 크게 좌우 될 것이다. 당신이 어떤 결정 방법, 당신은 프로세스가 제대로 작동하는지 확신 할 수 있도록 백업 및 복원 연습 데이터의 유효성을 검사해야합니다.


by 윤성용