웹 응용 프로그램 중 하나에 다음 오류가 있습니다.
Query3 failed: Error writing file '/tmp/MY1fnqpm' (Errcode: 28) ... INSERT MailList... (removed the rest of the query for security reasons)
어떤 아이디어라도-이것은 내 서버의 하드 디스크 공간 문제입니까?
웹 응용 프로그램 중 하나에 다음 오류가 있습니다.
Query3 failed: Error writing file '/tmp/MY1fnqpm' (Errcode: 28) ... INSERT MailList... (removed the rest of the query for security reasons)
어떤 아이디어라도-이것은 내 서버의 하드 디스크 공간 문제입니까?
답변:
다음 perror
명령을 사용하십시오 .
$ perror 28
OS error code 28: No space left on device
시스템의 오류 코드가 다르지 않으면 파일 시스템이 가득 찼습니다.
while true; do df -h /tmp; sleep 3; done
스크립트를 실행하는 동안 임시 테이블에서 사용하는 공간의 양을 확인할 수 있습니다.
우리는 비슷한 문제를 겪었고 문제는 MySQL이 필요에 따라 / tmp 디렉토리를 사용했다는 것입니다 (기본 구성). 그리고 / tmp는 큰 MySQL 요청을위한 공간이 너무 적은 자체 파티션에 있습니다.
자세한 내용은 https://stackoverflow.com/a/3716778/994302에서 답변을 찾아보십시오.
이 오류는 MySQL에 필요한 임시 파일을 만들 공간이 충분하지 않음을 의미합니다.
가장 먼저 시도 할 수있는 것은 /tmp/
파티션 의 크기를 확장하는 것 입니다. LVM 아래에있는 경우 lvextend
명령을 확인하십시오 .
파티션 크기를 늘릴 수없는 경우 /tmp/
MySQL 구성에서 작업 할 수 있습니다 .my.cnf
(일반적으로 /etc/mysql/my.cnf
) 파일을 편집하고 다음 줄을 찾으십시오.
tmpdir = /tmp/
원하는대로 변경하십시오 (예 /var/tmp/
). 공간이 있는지 확인하고 새 디렉토리에서 mysql 사용자에게 쓰기 권한을 할당하십시오.
도움이 되었기를 바랍니다!
이 오류는 파티션에 충분한 공간이 없을 때 발생합니다. 일반적으로 MYSQL은 Linux 서버에서 / tmp를 사용합니다. 조회가 많은 데이터를 반환하거나 큰 임시 파일을 생성하는 많은 데이터를 선별하기 때문에 일부 쿼리에서 이러한 현상이 발생할 수 있습니다.
/etc/mysql/my.cnf 편집
tmpdir = / your / new / dir
예 :
tmpdir = / var / tmp
일반적으로 자체 파티션에있는 / tmp보다 더 많은 공간을 할당해야합니다.
오늘. 나는 같은 문제가 ... 내 해결책 :
1) inode 확인 : df -i
나는 보았다 :
root@vm22433:/etc/mysql# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 124696 304 124392 1% /dev
tmpfs 127514 452 127062 1% /run
/dev/vda1 1969920 1969920 0 100% /
tmpfs 127514 1 127513 1% /dev/shm
tmpfs 127514 3 127511 1% /run/lock
tmpfs 127514 15 127499 1% /sys/fs/cgroup
tmpfs 127514 12 127502 1% /run/user/1002
2) 최대 inod 수를 사용하는 폴더를 찾기 시작했습니다.
for i in /*; do echo $i; find $i |wc -l; done
곧 나는 엄청난 수의 파일을 포함하는 / home / tomnolane / tmp 폴더에서 발견했습니다.
3) / home / tomnolane / tmp 폴더 PROFIT을 제거했습니다.
4) 확인 :
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 124696 304 124392 1% /dev
tmpfs 127514 454 127060 1% /run
/dev/vda1 1969920 450857 1519063 23% /
tmpfs 127514 1 127513 1% /dev/shm
tmpfs 127514 3 127511 1% /run/lock
tmpfs 127514 15 127499 1% /sys/fs/cgroup
tmpfs 127514 12 127502 1% /run/user/1002
괜찮아.
5) restart mysql service
-괜찮아 !!!!