web-dev-qa-db-ja.com

ファイル '/tmp/#sql_xxxx.MYI'を作成/書き込みできません(エラーコード:13)

Debian Lenny、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へのアクセス許可を作成すると、それが修正されます。しかし、私はそれをしなければならないということを正しくは感じていません。より良い方法/修正はありますか?

/etc/mysql/my.cnfの値tmpdirを変更する必要がありますか?

9
Cudos

/ tmpに対する権限が間違っているようです。スティッキービットが設定されているすべての人にとって、これらは実際には読み取り/書き込み/実行である必要があります。

chmod 1777 /tmp

スティッキービットは、他のユーザーが作成または所有していないファイルを操作する方法にいくつかの制限を追加するため、心配する必要はありません。

必要に応じて、mysqlユーザーが所有および書き込み可能な別のディレクトリを作成し、my.cnfでそのディレクトリを指定して、システム全体の/ tmpの代わりに使用することもできます。

20
Roy

通常、/ tmpディレクトリは誰でも書き込み可能です。これについて心配する必要はありません。追加のスティッキービットが設定されているため、ルートとファイルの所有者のみがそのファイルを削除できます。

 chmod 777 /tmp
chmod o + t /tmp

ごきげんよう

3
grub