mysqldump 를|mysql 수익률은'너무 많은 파일이 열려'오류가 있습니다.왜?

StackOverflow https://stackoverflow.com/questions/83242

  •  01-07-2019
  •  | 
  •  

문제

나는 RHEL5 스와 신선한 새로운 하드 드라이브는 나만 MySQL 서버입니다.일을 시작,내가 사용하는"mysqldump 는--host otherhost-A|mysql",심지어 하지만 나타났 ncursesw 에는 와이 명시적으로 권장하려고하이(mysqldump 를으로 파일은 없습니다.우리가 얘기하고 500G 의 데이터베이스)입니다.

이 프로세스가 실패하는 무작위 간격으로는 너무 많은 파일이 열려 있(는 시점에서 mysqld 얻 관련 신호,그리고 죽이고......).

나 늘리기에서 그것 sysctl 및 ulimit 지만,문제가 지속됩니다.나는 무엇을 할까요?

도움이 되었습니까?

해결책

mysqldump 를 기본적으로 수행하는 테이블 잠금 관련된 모든 테이블이 있습니다.많은 경우에는 테이블 수 있는 금액을 초과할 수의 파일기술자의 mysql 서버 프로세스입니다.Try--건너뛰기물쇠-테이블 또는 잠금이 필수적-자물쇠-모든 테이블이 있습니다.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

--lock-all-tables, -x

잠 모든 테이블에 걸쳐 모든 데이터베이스가 있습니다.이를 획득하여 글로벌 읽기 잠금 기간 동안의 전체 덤프.이 옵션을 자동으로 꺼집-싱글-거래와--lock-테이블이 있습니다.

다른 팁

mysqldump 를 보고 되었습 yeld 는 오류를 위한 데이터베이스의 크기가 큰 경우(1, 2, 3).설명과 해결 방법에서 MySQL 버그:

[3Feb2007 22:00]세르게이 Golubchik 이것은 정말 버그입니다.

mysqldump 를 기본값은--lock-테이블을 사용하는 것을 의미하고 모든 테이블을 덤프하기 전에 시작합니다.고 하는 테이블을 잠그 t1,t2,...에 대한 정말 큰 숫자의 테이블은 필연적으로 배기가에 사용할 수 있는 모든 파일기술자로,잠금 모두 필요 테이블을 열 수 있습니다.

해결 방법:--건너뛰기물쇠-테이블이 비활성화와 같은 잠그는 완전히습니다.또는 --lock-모든 테이블을 만들 것입니다 mysqldump 를 사용 테이블 자물쇠 자물쇠 모든 테이블에서 모든 데이터베이스(를 열지 않고도).이 경우에는 mysqldump 는 자동으로 --disable 잠금 표기 때문에 그것은 아무 의미가 없을 때--lock-모든 테이블이 사용됩니다.

편집:을 확인하시기 바랍 데이브에 대한 해결 방법 InnoDB 에 below.

는 경우에 데이터베이스는 큰 당신은 몇 가지 문제입니다.

  1. 당신은 잠 테이블을 덤프하는 데이터입니다.

  2. mysqldump 를 걸릴 것입니다 아주 아주 오랜 시간이 당신의 테이블이 필요하 잠겨 시간을 보냅니다.

  3. 데이터를 가져오는 새로운 서버에서도 시간이 오래 걸립니다.

이후 데이터베이 될 것입니다 본질적으로 사용할 수 없는 동안#1and#2 일어나고 있는 것이 실제로 중지하는 것이 좋습 데이터베이스를 사용하여 재동기화면에 파일을 복사하고 다른 서버입니다.그것보다 더 빨리 mysqldump 를 사용하여하고 보다 훨씬 빠르게 가져오지 않기 때문에 추가 IO 와 CPU 를 생성하는 인덱스입니다.

생산 환경에서 리눅스에서 많은 사람들을 넣어 Mysql 데이터에 LVM 파티션입니다.그 데이터베이스,하 LVM 스냅샷을 시작한 데이터베이스와 복사본을 off 상태의 중지에서 데이터베이스를 갖추고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top