1114(HY000):테이블이 꽉 찼다
행행 an an an 에 행을 하려고 합니다.InnoDB
" " " 순리가가리가가 。
INSERT INTO zip_codes (zip_code, city) VALUES ('90210', 'Beverly Hills');
그러나 이 쿼리를 시도하면 다음과 같은 메시지가 나타납니다.
ERROR 1114 (HY000): ★★★★★
zip_codes
부르다
을 하다
SELECT COUNT(*) FROM zip_codes
188,959개의 행이 있습니다.같은 데이터베이스에 810,635개의 행이 있는 다른 테이블을 고려하면 그리 많지는 않은 것 같습니다.
는 아직 합니다.InnoDB engine
해 본 이 없습니다.MyISAM
여기서 일어날 수 있는 문제들 중 몇 가지가 있습니다.
이 에 합니다.zip_codes
table.syslog를 클릭합니다.
편집: 디스크 공간이 부족하지 않은 경우 구성 관련 해결을 위해 먼저 확인합니다.
의 최대 것 .innodb_data_file_path
안에서my.cnf
이에서는 「」를 참조해 주세요.
innodb_data_file_path = ibdata1:10M:autoextend:max:512M
모든 innodb 테이블에서 512MB 이상의 데이터를 호스트할 수 없습니다.
하는 것이 도 모릅니다.innodb_file_per_table
.
또 다른 생각할 수 있는 이유는 파티션이 꽉 찼기 때문입니다.이것이 바로 지금의 저에게 일어난 일입니다.
도커 사용자: 도커 이미지 크기 제한의 약 90%에 도달한 경우에도 이 문제가 발생합니다(캐시에 10% 정도가 필요한 것 같습니다).Docker가 기본적으로 모든 용도로 사용할 수 있는 디스크 공간의 양을 의미하기 때문에 표현이 혼란스럽습니다.
수정하려면 Docker 바탕화면 설정 > 디스크 > 슬라이더를 오른쪽으로 조금 더 이동합니다.
같은 에러 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 변수를 다른 위치로 가리킬 수 있습니다.이 작업을 수행하려면 서버를 재시작해야 합니다.
저도 8GB SQL 데이터베이스 파일을 Import할 때 이 오류가 발생하였습니다.mysql 설치 드라이브 확인.드라이브에 빈 공간이 없었다.불필요한 아이템을 삭제하고 데이터베이스 Import 명령을 다시 실행하여 공간을 확보했습니다.이번에는 성공적이었다.
유효하게 하지 않는 한innodb_file_per_table
선택,InnoDB
모든 데이터를 1개의 파일에 보관합니다.보통, 라고 불립니다.ibdata1
.
파일의 크기를 확인하고 파일이 상주하는 드라이브에 충분한 디스크 공간이 있는지 확인합니다.
NDBCLUSTER를 스토리지 엔진으로 사용하는 경우에는DataMemory
그리고.IndexMemory
.
SQLSTATE [HY000]: 일반 오류: 1114 'catalog_product_index_price_bundle_sel_tmp' 테이블이 꽉 찼습니다.
해결 방법:
db 구성 편집:
nano /etc/my.cnf
tmp_table_size=256M max_heap_table_size=256M
- db 재시작
제 경우 mysql 서버가 어플리케이션과 함께 실행되기 때문에 디스크가 꽉 찼습니다.
디스크에 충분한 공간이 있는지 확인할 수 있습니다.
df -h
디스크 사용률이 100%인 경우 이 명령을 사용하여 너무 큰 디렉토리를 찾을 수 있습니다.
du -h -d 1 /
MySQL 문서를 인용합니다.
InnoDB 스토리지 엔진은 여러 파일에서 생성할 수 있는 테이블스페이스 내에 InnoDB 테이블을 유지합니다.따라서 테이블이 개별 최대 파일 크기를 초과할 수 있습니다.테이블스페이스에는 매우 큰 테이블을 허용하는 원시 디스크 파티션을 포함할 수 있습니다.최대 테이블 영역 크기는 64TB입니다.
InnoDB 테이블을 사용하고 있으며 InnoDB 테이블스페이스의 공간이 부족한 경우.이 경우 해결책은 InnoDB 테이블스페이스를 확장하는 것입니다.섹션 13.2.5, ["InnoDB 데이터 및 로그 파일 추가, 삭제 또는 크기 조정"]를 참조하십시오.
이 디스크는 /var/www/mysql로 꽉 찼습니다.
다양한 메모리 제한을 늘리려고 해도 아직 문제가 남아 있는 분들을 위해 다음과 같이 하십시오.internal_tmp_mem_storage_engine=MEMORY
문제를 해결해 주셨어요.
Ubuntu 20.04.2에서 MySQL 8.0.25-0ubuntu0을 사용하고 있습니다.20.04.1.
CentOS 7에서는 MySQL 서비스를 정지 및 기동하기만 하면 문제가 해결되었습니다.
sudo service mysql stop
sudo service mysql start
디스크 용량이 부족해서 같은 문제에 직면했어요.그리고 InnoDB 인프라를 위한 시스템 테이블스페이스인 ibdata1 파일을 호스팅하는 파티션이 꽉 찼습니다.
나는 이 문제를 겪고 있었다...저 같은 경우에는 전용 서버의 스토리지가 부족할 수 있습니다.다른 모든 것이 실패할 경우 디스크 공간을 늘리거나 원치 않는 데이터 또는 파일을 제거하는 것을 고려하십시오.
제 경우 alter table 명령을 실행하려고 했는데 사용 가능한 디스크 공간이 테이블 크기보다 작았습니다.한번은 디스크 공간을 늘려서 문제가 해결되었습니다.
제 경우 서버 메모리가 가득 차서 DB가 온도 데이터를 쓸 수 없었습니다.이 문제를 해결하려면 드라이브에 공간을 만들어야 합니다.
데이터베이스가 위치한 vagrant VM에서 사용할 수 있는 메모리 양을 늘려 이 문제를 해결했습니다.
이는 또한 열려 있는 트랜잭션 수에 대한 InnoDB 제한이 될 수 있습니다.
http://bugs.mysql.com/bug.php?id=26590
실행 취소 레코드를 가진 1024개의 트랜잭션(예: 데이터 편집)에서 InnoDB는 작동하지 않습니다.
언급URL : https://stackoverflow.com/questions/730579/1114-hy000-the-table-is-full
'itsource' 카테고리의 다른 글
배열에서 일치하거나 가장 가까운 값 찾기 (0) | 2022.09.05 |
---|---|
MySQL Fast Select Query | C# 고속 로드 데이터 테이블 (0) | 2022.09.05 |
Mockito에서 varargs를 적절하게 일치시키는 방법 (0) | 2022.09.05 |
if-elif-else 문구를 한 줄에 넣는 거? (0) | 2022.09.05 |
XAMPP에 MariaDB 또는 MySQL이 있습니까? (0) | 2022.09.05 |