[mysql] 1114 (HY000) : 테이블이 가득 찼습니다.
InnoDB
간단한 쿼리 를 사용하여 테이블에 행을 추가하려고 합니다.
INSERT INTO zip_codes (zip_code, city) VALUES ('90210', 'Beverly Hills');
그러나이 쿼리를 시도하면 다음과 같은 결과가 나타납니다.
오류 1114 (HY000) : 테이블
zip_codes
이 가득 찼습니다.
하는
SELECT COUNT(*) FROM zip_codes
동일한 데이터베이스에 810,635 개의 행이있는 또 다른 테이블이 있다는 점을 고려하면 188,959 개의 행을 제공합니다.
나는에 대해 상당히 InnoDB engine
경험이 없으며 MyISAM
. 여기서 잠재적 인 문제는 무엇입니까?
편집 : 이것은 zip_codes
테이블에 행을 추가 할 때만 발생 합니다.
답변
편집 : 먼저 구성 관련 해결 방법을 해결하기 전에 디스크 공간이 부족하지 않은 경우 확인하십시오.
당신은 당신을 위해 너무 낮은 최대 크기를 갖고있는 것 같다 innodb_data_file_path
당신의 my.cnf
,이 예에서
innodb_data_file_path = ibdata1:10M:autoextend:max:512M
결합 된 모든 innodb 테이블에서 512MB 이상의 데이터를 호스팅 할 수 없습니다.
를 사용하여 innodb-per-table 체계로 전환해야 할 수도 있습니다 innodb_file_per_table
.
답변
또 다른 가능한 이유는 파티션이 꽉 찼기 때문입니다. 이것은 지금 나에게 일어난 일입니다.
답변
또한 동일한 오류 ERROR 1114 (HY000)가 표시됩니다. ‘# sql-310a_8867d7f’테이블이 가득 찼습니다.
스토리지 엔진 MEMORY를 사용하는 테이블에 인덱스를 추가하려는 경우.
답변
INNO_DB 테이블에 대해 my.cnf에 설정된 제한 한도를 수정해야합니다. 이 메모리 제한은 개별 테이블에 대해 설정되지 않으며 결합 된 모든 테이블에 대해 설정됩니다.
메모리를 512MB로 자동 확장하려는 경우
innodb_data_file_path = ibdata1:10M:autoextend:max:512M
한도를 모르거나 한도 한도를 설정하고 싶지 않은 경우 다음과 같이 수정할 수 있습니다.
innodb_data_file_path = ibdata1:10M:autoextend
답변
이 오류는 tmpdir
상주 하는 파티션이 가득 찬 경우에도 나타납니다 (테이블 변경 또는 기타
답변
제 경우에는 ibdata1 파일을 호스팅하는 파티션이 꽉 찼기 때문입니다.
답변
mysql 테이블이 저장된 파티션 (일반적으로 / var / lib / mysql) 또는 임시 테이블이 저장된 파티션 (일반적으로 / tmp)에 공간이 부족할 수 있습니다.
다음을 수행 할 수 있습니다.-인덱스 생성 중에 여유 공간을 모니터링합니다. -tmpdir MySQL 변수를 다른 위치로 가리 킵니다. 서버를 다시 시작해야합니다.