2014-09-27 5 views
0

Windows 2008 Server에서 실행되는 MyISAM 테이블이있는 2 개의 데이터베이스가 있습니다. 이 데이터베이스는 크기가 약 20GB이며 수백만 개의 행이있는 테이블이 몇 개 있습니다. 내 질문은 매주 그들을 백업하는 것에 관한 것입니다. 현재 일주일에 한 번 업데이트를 한 다음 데이터 폴더로 이동하여 데이터베이스를 나타내는 실제 폴더를 서버의 다른 드라이브로 복사 한 다음 모든 내용을 백업합니다.MySQL은 실제 파일을 복사하여 MyISAM 테이블을 백업하고 프로세스를 자동화합니다.

이 프로세스에는 약 45 분이 걸리고 그 시간 동안 내 웹 사이트의 특정 기능을 복사 중에 사용할 수 없으면 테이블이 차단됩니다. 필자는 LOCK 및 FLUSH 테이블을 복사 할 수 있도록 테이블을 잠글 수 있다는 것을 보았습니다. 그렇다면 테이블을 잠그면 동시 SELECT가 허용됩니까?

나는 이것에 대해 어떻게 해야할지 정확하게 알지 못하며, 누군가가 물리 데이터의 복사 및 다음 잠금 해제와 함께 잠금/플러시 문을 동기화하는 방법을 도울 수 있다면 크게 감사 할 것입니다. 아마도이 프로세스를 DOS 배치 파일에 스크립트로 자동화 할 수 있습니까? 사전에

감사합니다, 팀

당신은 당신의 MySQL 서버 (마스터 - 슬레이브)과의 복제를 작성해야합니다
+0

이 질문은 아마도 ** dba.stackexchange.com **에 문의하는 것이 좋습니다. – spencer7593

답변

0

: 당신의 노예 인스턴스에서 현재 DB의 런타임 사본이있을 것이다

  1. 을 MySQL.
  2. mysql의 슬레이브 인스턴스를 중지하고 슬레이브에서 백업 프로세스를 실행하고 다시 복제를 시작할 수 있습니다. 마스터 인스턴스에는 아무런 영향을 미치지 않으며 사이트에는 영향을 미치지 않습니다.

마스터 - 슬레이브 복제는 다른 디스크를 사용하는 동일한 시스템 또는 다른 시스템에서 수행 할 수 있습니다 (권장).

.bat 스크립트를 생성하는 프로세스를 자동화하여 슬레이브 인스턴스를 중지/실행하고 프로세스를 백업 한 다음이 .bat 파일을 Windows 작업에 추가 할 수 있습니다.

+0

안녕하세요, 귀하의 제안에 감사드립니다 - 나는 복제 엉덩이에 대해 조금 읽어야 할 것 같아요. 아직 그것에 대해 어떻게 해야할지 모르지만 ...하지만이 아이디어를 가르쳐 주셔서 고마워요! – user1104980