電子書籍の厳選無料作品が豊富!

普段は正常に動いているMySQLからデータを参照するPHPプログラムがあるのですが、先ほど突然以下のようなエラー文が出ました。

Can't create/write to file '/var/tmp/#sql_11fe5_0.MYD' (Errcode: 17)

MySQLのサイトを見ると、以下のような解説がありました。

ーー引用ーーーーーーーーーーーーーーーーー

MySQL が、特定のテンポラリディレクトリに結果セット用のテンポラリファイルを作成できないことを示しています(上記のエラーは、Windows での典型的なエラーメッセージですが、Unix でのエラーメッセージもよく似たメッセージになります)。 解決するには、--tmpdir=path を指定して mysqld を起動するか、オプション設定ファイルに以下のコードを追加します。

[mysqld]
tmpdir=C:/temp

c:\\temp ディレクトリが存在していると仮定しています。 See 項4.1.2. 「my.cnf オプション設定ファイル」。

また perror で、取得するエラーコードを確認します。1つの原因としてディスクがいっぱいになっていることも考えられます。

shell> perror 28
Error code 28: No space left on device

ーーーーーーーーーーーーーーーーーーー

URL : http://dev.mysql.com/doc/refman/4.1/ja/cannot-cr …


おそらくレンタルサーバのOSは、UNIXなのですが、その場合、「tmpdir=C:/temp」 のかわりに何と書けば良いのでしょうか?

また、先ほどもういちどサイトを見たら、
Lost connection to MySQL server during query
というエラーに変わっていました。

何故でしょうか?
この上記2つのエラーは以前にも何回か起こったことがあり、MySQLを再起動すれば一応直るようなのですが、何度も起こるのでどうすればいいか困っています。

根本的な解決方法があれば教えて下さい。
よろしくお願いいたします。

MySQLのバージョンは、4.1です。

A 回答 (1件)

おそらくテンポラリディレクトリにスペースがないという事なので、テンポラリディレクトリの場所を変更するか、テンポラリディレクトリの容量を大きくしてもらう必要があると思います。



Windowsの『C:/』はUNIXだと『/』です。
ちなみに今のテンポラリディレクトリは『/var/tmp/』になっているようです。

レンタルサーバの管理者に『/var/tmp/』の容量を大きくしてもらうか、他に使用して良いディレクトリがあるか確認してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!