[mysql] 1030 저장소 엔진에서 28 오류가 발생했습니다

데모 응용 프로그램을 보려는 각 사용자마다 300 개의 테이블이있는 데이터베이스를 만들어야하는 프로젝트를 진행 중입니다. 그것은 잘 작동했지만 오늘 데모를보기 위해 새로운 사용자와 테스트 할 때이 오류 메시지가 표시되었습니다.

1030 Got error 28 from storage engine

인터넷 검색에 시간을 보낸 후 데이터베이스 또는 임시 파일 공간과 관련된 오류라는 것을 알았습니다. 나는 그것을 고치려고 노력했지만 실패했다. 이제는 심지어 mysql을 시작할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까? 또한 같은 문제가 반복해서 발생하지 않도록 크기를 최대로 늘리고 싶습니다.



답변

스토리지 엔진에서 발생한 MySQL 오류 ” 28 “- ” 디스크 공간 부족 “을 의미 합니다.

디스크 공간을 표시하려면 아래 명령을 사용하십시오.

myServer# df -h

결과는 이와 같아야합니다.

Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/vdisk     13G     13G     46M   100%    /
devfs         1.0k    1.0k      0B   100%    /dev


답변

(더 오래된 질문 임에도 불구하고) 이것을 확장하기 위해; tmp 파일이나 그와 비슷한 것을 가정하면 MySQL 공간 자체가 아니라 일반적으로 공간에 관한 것입니다. 내 mysql 데이터 디렉토리가 가득 차지 않았고 / (루트) 파티션이


답변

AWS RDS에서도 같은 문제가있었습니다. 사용 가능한 공간 (하드 드라이브 저장 공간)이 가득 찼기 때문입니다. 공간을 늘리거나 일부 데이터를 제거해야합니다.


답변

내 / tmp는 % 100입니다. 모든 파일을 제거하고 mysql을 다시 시작하면 모든 것이 잘 작동했습니다.


답변

내 / var / log / apache2 폴더는 35g이었고 / var / log의 일부 로그는 총 40g 하드 드라이브의 다른 5g로 집계되었습니다. 모든 * .gz 로그를 지우고 다른 로그가 엉망이되면 나쁜 일을하지 않도록 확인한 후에도 그냥 지 웠습니다.

echo "clear" > access.log

기타


답변

/ backup을 확인하여 필요하지 않은 오래된 백업을 삭제할 수 있는지 확인하십시오.


답변

복제 이진 로그로 인해 비슷한 문제가 발생했습니다 .

이 경우 매일 cronjob을 만들어이 쿼리를 매일 실행하십시오.

PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );

이렇게하면 2 일이 지난 모든 이진 로그가 제거됩니다.

이 솔루션을 여기 에서 찾았 습니다 .