Não é possível criar / gravar no arquivo '/tmp/#sql_xxxx.MYI' (Errcode: 13)

9

Eu instalei o Debian Lenny, o PHPmyadmin e o postfix.

Ao usar a GUI do PHPmyadmin e acessar qualquer tabela com dados eu recebo:

Can't create/write to file '/tmp/#sql_xxxx.MYI' (Errcode: 13)

fazendo o perigo 13 diz:

OS error code  13:  Permission denied

Eu acho o tmpdir lik assim:

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

Agora, isso significa que o mysql não pode gravar em / tmp. Fazendo as permissões para: 777 corrige isso. Mas não me sinto bem, tenho que fazer isso. Existe uma maneira melhor / corrigir?

Devo alterar o valor tmpdir em /etc/mysql/my.cnf ?

    
por Cudos 15.11.2009 / 12:18

2 respostas

18

Parece que suas permissões em / tmp estão erradas. Eles realmente devem ser de leitura / gravação / execução para todos com o conjunto de bits pegajoso.

chmod 1777 /tmp

O bit pegajoso adiciona algumas restrições a como outros usuários interagem com arquivos não criados ou de propriedade deles, portanto, não há motivo para preocupação.

Se desejar, você também pode criar um diretório separado de propriedade e gravável pelo usuário mysql e especificar esse diretório em my.cnf para ser usado no lugar do sistema / tmp.

    
por 15.11.2009 / 12:37
3

Normalmente, o diretório / tmp é gravável para todos. Você não deveria se preocupar com isso. Além disso, o bit pegajoso é definido de modo que somente o usuário root e o proprietário de um arquivo possam excluí-lo.

chmod 777 /tmp
chmod o+t /tmp

Tenha um bom dia

    
por 15.11.2009 / 12:35

Tags