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와 같이 다른 파일 시스템(특히 작은 파일 시스템)의 공간이 급격히 줄어들고 있는지 확인하세요.

관련 정보