1030 스토리지 엔진에서 오류 28이 발생했습니다.
데모 어플리케이션을 보고 싶은 사용자마다 300테이블의 데이터베이스를 작성해야 하는 프로젝트를 진행하고 있습니다.정상적으로 동작하고 있었지만, 오늘 데모를 보기 위해 새로운 유저와 테스트하고 있을 때, 이 에러 메세지가 표시되었습니다.
1030 Got error 28 from storage engine
구글에서 검색한 결과 데이터베이스 공간이나 임시 파일과 관련된 오류라는 것을 알게 되었습니다.고치려고 노력했지만 실패했습니다.지금은 mysql을 시작할 수도 없습니다.어떻게 하면 이 문제를 해결할 수 있을까요?또한 같은 문제를 반복하지 않도록 사이즈를 최대한으로 늘리고 싶습니다.
Mysql 오류 "28 from storage engine" - "디스크 공간이 부족합니다"를 의미합니다.
디스크 공간을 표시하려면 다음 명령을 사용합니다.
myServer# df -h
결과는 다음과 같습니다.
Filesystem Size Used Avail Capacity Mounted on
/dev/vdisk 13G 13G 46M 100% /
devfs 1.0k 1.0k 0B 100% /dev
(오래된 질문이지만) 이에 대해 자세히 설명합니다.MySQL 공간 자체가 아니라 tmp 파일 등을 가정한 일반적인 공간일 것입니다.mysql 데이터 dir가 꽉 차지 않았습니다. / (root) 파티션은 다음과 같습니다.
AWS RDS에서도 같은 문제가 발생했는데, 그 이유는 Freeable Space(Hard Drive Storage Space)가 Full이었기 때문입니다.공간을 늘리거나 일부 데이터를 제거해야 합니다.
/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일보다 오래된 이진 로그가 모두 제거됩니다.
이 해결책을 여기서 찾았습니다.
단순: $sth->finish(); 이 문제에 대한 걱정을 덜어줄 수 있습니다.Mysql은 자체 공간 대신 시스템의 tmp 공간을 사용합니다.
sudo su
cd /var/log/mysql
마지막으로 다음을 입력합니다.> mysql-slow.log
이건 내게 효과가 있었다.
문제가 있는 데이터베이스를 삭제하고 mysql 서비스를 재부팅합니다( ).sudo service mysql restart
예를 들어)를 참조해 주세요.
tokudb 플러그인을 사용하는 경우 이 문제는 사용 가능한 공간이 5% 미만(기본값)인 경우에 발생할 수 있습니다.
옵션 참조: tokudb_fs_syslog_percent
언급URL : https://stackoverflow.com/questions/10631387/1030-got-error-28-from-storage-engine
'programing' 카테고리의 다른 글
==가 아닌 경우 Python vs!= (0) | 2022.12.01 |
---|---|
MySQL: 테이블이 많습니까, 아니면 데이터베이스가 많습니까? (0) | 2022.12.01 |
자바에도 스톱워치가 있나요? (0) | 2022.12.01 |
브라우저 session스토리지탭 간에 공유하시겠습니까? (0) | 2022.12.01 |
Joda Date Time을 Jackson JSON 프로세서로 시리얼화하는 방법 (0) | 2022.12.01 |