오늘도 한 뼘 더
[MySQL] ERROR 1114 (HY000): The table 'tb_name' is full 본문
728x90
반응형
# 배경
mysql에 복원 작업을 진행 중이었는데 다음과 같은 에러가 발생하면서 복원 작업이 중단되었다.
ERROR 1114 (HY000): The table 'tb_name' is full
# 원인 및 해결 방법
테이블에 더 이상 데이터를 추가할 수 없을 때 발생한다.
이 오류는 원인이 여러 가지라고 한다. 오류와 해결 방법을 알아보았다.
1. 디스크 공간 부족
서버의 디스크 공간을 확인한다. 디스크가 가득 찬 경우, 불필요한 파일을 삭제하거나 디스크를 확장하여 공간을 확보한다.
2. InnoDB 저장 엔진 제한
InnoDB 저장 엔진을 사용하는 경우, 데이터 파일의 최대 크기에 제한이 있습니다. InnoDB 테이블 스페이스의 크기를 늘려야 할 수 있다.
구성 파일(my.cnf 또는 my.ini)을 수정하고 MySQL을 다시 시작한다.
innodb_data_file_path = ibdata1:10M:autoextend
mysql 재시작
3. 테이블 손상
테이블이 손상된 경우, 다음 SQL 쿼리를 사용하여 테이블을 수리한다.
REPAIR TABLE tb_name;
수리 작업을 수행하기 전에 데이터를 백업해 두도록 한다.
4. max_allowed_packet 설정
단일 쿼리에 대량의 데이터를 삽입하는 경우, max_allowed_packet 설정을 늘려야 할 수 있다.
max_allowed_packet=64M
설정을 변경한 후 MySQL을 재시작
5. 다른 오류 확인
MySQL 오류 로그(error.log)를 확인하여 테이블이 가득 찼을 때 다른 오류 또는 경고 메시지가 있는지 확인
6. 오래된 데이터 보관 및 삭제
테이블에서 오래된 데이터를 보관하거나 삭제하여 공간을 확보할 수 있다.
728x90
반응형
'Study > MySQL' 카테고리의 다른 글
[MySQL] AWS RDS- Error 1040: Too many connections 해결 방법 (0) | 2024.09.06 |
---|---|
[MySQL] mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces (0) | 2024.07.04 |
[MySQL] 특정 조건에 맞는 데이터만 백업하기 (0) | 2023.11.16 |
[MySQL] MySQL 데이터 백업 | 복원 (0) | 2023.11.01 |
[MySQL] ERROR 1046 (3D000) at line : No database selected (0) | 2023.09.27 |
Comments