MySQL에서 "ERROR 114 - Table Full"이 표시되는 이유는 무엇입니까?

MySQL에서 "ERROR 114 - Table Full"이 표시되는 이유는 무엇입니까?

31,107,600개의 행이 있는 MySQL 데이터베이스 테이블이 있습니다. InnoDB를 사용하고 있습니다. 이것은 CentOS 7 시스템에 있습니다.

테이블에는 다음과 같은 열이 있습니다.

  • ID
  • 타임스탬프
  • 데이터
  • 방향
  • 사이트_ID

인덱스를 생성하고 싶으므로 다음 명령을 실행합니다.

ALTER TABLE MY_TABLE ADD INDEX idx_my_index (mac, site_id, timestamp);

약 30초 정도 걸리며 다음과 같은 정보를 제공합니다.

ERROR 1114 (HY000): The table 'MY_TABLE' is full

내 MySQL은 기본값을 사용하여 /var/lib/mysql데이터를 저장합니다. 현재 폴더가 있는 파티션의 여유 공간은 12GB이고 내 데이터베이스 크기는 2.7GB에 불과하므로 제가 아는 한 공간이 충분할 것입니다.

이 오류가 표시되는 이유는 무엇입니까? 온라인 검색에 따르면 아마도 임시 테이블을 사용하고 있으며 임시 테이블 크기에 대한 제한이 적용되고 있는 것 같습니다. 그럴 수도 있나요? 또는 다른 것? 어떻게 확인할 수 있나요?

답변1

ALTER TABLE 문이 실행되는 동안 df를 사용하여 모든 파일 시스템의 공간 사용량을 관찰합니다. 다른 파일 시스템, 특히 작은 파일 시스템의 공간이 급격히 줄어들고 있는지 확인하십시오(예: tmpfs에 /tmp가 있는 경우).

관련 정보