1

현재 데이터베이스는 거의 20GB이며 여전히 커지고 있습니다. mysqldump를 사용하여 매일 백업을하고 있는데 정말 느려지고 있습니다. 그래서 천천히 한편 새로운 연결에 쌓아 결국이 오류가 발생할 것을 : 대기를mysqldump가 완전히 느린 경우

SQLSTATE[HY000] [1040] Too many connections 

은 (I 허용있어 연결의 양을 향상시킬 수 있지만 연결이 여전히 얼어 있기 때문에 그 아무것도하지 않습니다를 (

  1. 옵션 --quick을 윌 : 타임 아웃으로 이어질 것입니다 완료 될 때까지 백업)

    내가 속도를 개선하는 데 도움이되는 몇 가지 옵션을 최대 읽어 봤는데

    및이 내가 발견 한 것입니다 아마도 도움)

  2. 옵션 --single-transaction (테이블이 잠기는 것을 방지하지만 데이터베이스가 올바르지 않게 할 수 있음)
  3. 마스터 - 슬레이브 복제 (가능한 한 가장 좋은 방법은 하나의 문제, 하나의 서버 만 사용할 수 있음) 내가 업데이트에서 노예를 중지 백업을하고는 동기화를 재개 할 수 있기 때문에이 최선의 선택이처럼

마스터 - 슬레이브 복제 정말 소리. 문제는 내가 작업 할 하나의 물리적 기계 만 있다는 것입니다.

이 서버에서 여러 개의 mysql 인스턴스를 설정할 수 있다는 것을 알고 있습니다. 질문은 : 그렇게하는 것이 현명한가? 슬레이브는 실제로 백업 파일 (네트워크의 다른 디스크에 복사 됨)을 생성하는 데만 사용되므로 마스터가 계속 작동 할 수 있습니다.

+0

모르겠지만, mysqldump는 트랜잭션없이 작업을 수행 할 수 없습니까? 그것은 최선의 해결책은 아니지만 나는 다른 것을 생각할 수 없다. –

+0

일일 덤프 20GB? 2 달 동안 결핵 이상? – emaillenin

+0

단일 트랜잭션 또는 테이블 잠금은 InnoDb 또는 MyIsam 테이블의 일관된 덤프를 만드는 데 사용됩니다. 나는 이러한 옵션들이 덤핑을 가속화 할 것이라고 생각하지 않는다. [dbForge Studio for MySQL] (http://www.devart.com/dbforge/mysql/studio/)의 데이터베이스 백업 기능을 사용하여 데이터베이스 백업을 시도하면 일부 스레드를 사용하여 덤프를 만듭니다. – Devart

답변

관련 문제