'/tmp/#sql_xxxx.MYI'파일을 만들거나 쓸 수 없습니다 (오류 코드 : 13)


9

데비안 레니, PHPmyadmin 및 postfix를 설치했습니다.

PHPmyadmin GUI를 사용하고 데이터가있는 테이블에 액세스하면 다음을 얻습니다.

'/tmp/#sql_xxxx.MYI'파일을 만들거나 쓸 수 없습니다 (오류 코드 : 13)

테러 13을하는 것은 말합니다 :

OS error code  13:  Permission denied

tmpdir lik을 다음과 같이 찾습니다.

mysqladmin -p variables | grep -w tmpdir
| tmpdir                          | /tmp

이제 mysql은 / tmp에 쓸 수 없습니다. : 777에 권한을 부여하면 문제가 해결됩니다. 그러나 나는 그렇게해야한다고 생각하지 않습니다. 더 나은 방법 / 수정이 있습니까?

tmpdir 값을 변경해야합니까 /etc/mysql/my.cnf?


mysqladmin 출력을 포함 해 주셔서 감사합니다. 나는 이것을 사용하여 약간의 보안을 추가하여 mysql 전용 tmpdir을 기부했다.
Florian Heigl

답변:


20

/ tmp에 대한 권한이 잘못된 것 같습니다. 스티키 비트 세트를 가진 모든 사람에게는 실제로 읽기 / 쓰기 / 실행이 있어야합니다.

chmod 1777 /tmp

고정 비트는 다른 사용자가 자신이 만들거나 소유하지 않은 파일과 상호 작용하는 방식에 약간의 제한을 추가하므로 걱정할 필요가 없습니다.

원하는 경우, mysql 사용자가 소유하고 쓸 수있는 별도의 디렉토리를 작성하고 시스템 전체 / tmp 대신 my.cnf에서 해당 디렉토리를 사용하도록 지정할 수도 있습니다.


"chmod 1777 / tmp"스티커 비트 1은 내가 모르는 것이었고, 이유를 알지 못해서 많은 시간을 잃어 버렸기 때문에 나를 죽였습니다. 이제이 "chmod 1777 / tmp"를 게시 해 주셔서 감사합니다

3

일반적으로 / tmp 디렉토리는 모든 사람이 쓸 수 있습니다. 당신은 이것에 대해 걱정해서는 안됩니다. 또한 고정 비트가 설정되어 루트와 파일 소유자 만 해당 파일을 삭제할 수 있습니다.

chmod 777 / tmp
chmod o + t / tmp

좋은 하루 되세요


끈적 끈적한 비트의 8 진수를 아는 사람이 있습니까?
GRUB

네, 첫 번째 8 진에서 1입니다.
Roy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.