Назад | Перейти на главную страницу

Не удается создать / записать в файл '/tmp/#sql_xxxx.MYI' (код ошибки: 13)

Я установил Debian Lenny, PHPmyadmin и postfix.

При использовании графического интерфейса PHPmyadmin и доступе к любой таблице с данными я получаю:

Не удается создать / записать в файл '/tmp/#sql_xxxx.MYI' (код ошибки: 13)

выполнение perror 13 говорит:

OS error code  13:  Permission denied

Мне нравится tmpdir:

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

Теперь это означает, что mysql не может писать в / tmp. Разрешения на: 777 исправляют это. Но я чувствую себя неправильным, я должен это делать. Есть способ лучше / исправить?

Следует ли мне изменить значение tmpdir в /etc/mysql/my.cnf?

Похоже, ваши разрешения на / tmp неверны. Они действительно должны быть доступны для чтения / записи / выполнения для всех, у кого установлен липкий бит.

chmod 1777 /tmp

Липкий бит добавляет некоторые ограничения на то, как другие пользователи взаимодействуют с файлами, которые не созданы или не принадлежат им, поэтому нет причин для беспокойства.

При желании вы также можете создать отдельный каталог, принадлежащий и доступный для записи пользователю mysql, и указать этот каталог в my.cnf, который будет использоваться вместо общесистемного / tmp.

Обычно каталог / tmp доступен для записи для всех. Тебе не стоит об этом беспокоиться. Дополнительно устанавливается липкий бит, поэтому только root и владелец файла могут удалить этот файл.

chmod 777 /tmp
chmod o+t /tmp

Хорошего дня