• 締切済み

エラーの解決方法が分かりません。

普段は正常に動いている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-create.html おそらくレンタルサーバのOSは、UNIXなのですが、その場合、「tmpdir=C:/temp」 のかわりに何と書けば良いのでしょうか? また、先ほどもういちどサイトを見たら、 Lost connection to MySQL server during query というエラーに変わっていました。 何故でしょうか? この上記2つのエラーは以前にも何回か起こったことがあり、MySQLを再起動すれば一応直るようなのですが、何度も起こるのでどうすればいいか困っています。 根本的な解決方法があれば教えて下さい。 よろしくお願いいたします。 MySQLのバージョンは、4.1です。

  • MySQL
  • 回答数1
  • ありがとう数1

みんなの回答

  • dobaken
  • ベストアンサー率63% (7/11)
回答No.1

おそらくテンポラリディレクトリにスペースがないという事なので、テンポラリディレクトリの場所を変更するか、テンポラリディレクトリの容量を大きくしてもらう必要があると思います。 Windowsの『C:/』はUNIXだと『/』です。 ちなみに今のテンポラリディレクトリは『/var/tmp/』になっているようです。 レンタルサーバの管理者に『/var/tmp/』の容量を大きくしてもらうか、他に使用して良いディレクトリがあるか確認してみてください。

関連するQ&A

  • インストール・初期化後、初起動でエラー

    インストール・初期化後、初起動でエラー OS : CentOS 5.3 MySQL 5.0.89 をソースからインストール rootユーザにて # /usr/local/mysql/bin/mysqld_safe --user=mysql & [root@localhost mysql]# Starting mysqld daemon with databases from /usr/local/mysql/var STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.com.pid 100114 20:02:07 mysqld ended エラーログをみる # cat var/localhost.localdomain.com.err ... /usr/local/mysql/libexec/mysqld: Can't create/write to file '/usr/local/mysql/var/ib6TIfDM' (Errcode: 13) 100114 20:02:07 InnoDB: Error: unable to create temporary file; errno: 13 100114 20:02:07 [ERROR] /usr/local/mysql/libexec/mysqld: Can't create/write to file '/usr/local/mysql/var/localhost.localdomain.com.pid' (Errcode: 13) 100114 20:02:07 [ERROR] Can't start server: can't create PID file: Permission denied 100114 20:02:07 mysqld ended /usr/local/mysql/var の所有者・権限は、mysql:mysql 700で "# /usr/local/mysql/bin/mysqld_safe --user=mysql &" は mysqlユーザで起動するという意味ですよね(?) /usr/local/mysql/my.cnf の [mysqld] には、 tmpdir = /usr/local/mysql/var/ を書いてます。 my.cnf は /etc/my.cnf にあります。 なぜ書き込めないのでしょうか? どなたかご教示お願い致します。 因みに、これは関係ないと思いますが、 /usr/local/mysql の所有者・権限は root:mysql 700 です。

    • ベストアンサー
    • MySQL
  • MySQLでテンポラリ(C:/TEMP)のドライブ変更ができません

    win2000にMysql5.0.45を入れスタンドアロンで使っています。 取り込みデータサイズ:2.4G、2800万件のテキストデータをテーブルにインポート(InnoDB)するところまでは出来ているのですが、select~order by でソートをかけようとしたところ ERROR 3 (HY000): Error writing file 'C:\TEMP\MY10.tmp'(errcode:28) とでてしまいます。原因がCの空き容量が1G程度しかないため、容量のあるDにテンポラリを移そうと、set session tmpdir = 'D:/MySQL/TEMP' ; としても、ERROR 1238 read only variable となってしまいます。 また、MySQLadministrator>StartupVariable>InnoDB Paramaters>datafilesからも変更できず行き詰まってしまいました。 調べてはみたのですが、話がwinとlinuxとの間でごちゃごちゃになってしまっています。ご教授いただけないでしょうか。

    • ベストアンサー
    • MySQL
  • PDFCreatorが使えない(T_T)

    PDFCreatorをインストール後、起動すると以下のエラーメッセージが 出力されました。 ************************************************************** Cannot find gsdll32.dll. Please check the ghostscript-program directory(see option!) ************************************************************** ghostscriptをインストールする必要があるのかと思い、 『gs854w32full』をインストール使用としたら、以下のエラーメッセージが 出力されました。 ************************************************************** Source Directory=C:\Documents and Settings\渋谷英作\デスクトップ\gs854w32full Target Directory=C:\gs Target Shell Folder=Ghostscript Current user Installing Program... Copying files listed in filelist.txt Creating temporary file c:\docume~1\渋男英作\locals~1\temp\gsa02116 Failed to create FileNew temporary file Program install failed ************************************************************** もう分かりません。助けて下さい!!!!! お願いします。

  • thunderbardでエラーが出ます。

    thunderbardで以下のエラーが5回に1回出て送信できません。 メッセージを送信できませんでした。 一時ファイル C:\Users\kurobon\AppData\Local\Temp\nsmail.tmp を開けませんでした。システムの "一時ディレクトリ" の設定を確認してください。 ググると添付ファイルがあるときにおこるケースがかかれていますが、添付ファイルとか ないのに出ます。毎回ではなく、頻繁に起こります。 そのエラーにかかれている 一時ファイルの場所がまた見当らないんです。 助けてください。

  • MySQLのエラーについて

    今回初めてMySQL-serverをいれました。 バージョンは5です。 Linuxを使用。 /etc/rc.d/init.d/mysqld start コマンドで起動させたいのですが。 Timeout error occurred trying Timeout error occurred trying to start MySQL Daemon. Starting MySQL: [FAILED] と、いうものが出力されます そしてlogを調べた所↓ mysqld started 090812 17:34:44 [ERROR] /usr/libexec/mysqld: unknown option '-- ' というエラーlogが残ってました。 こういう場合の対処法を教えてください。

    • ベストアンサー
    • MySQL
  • mysqlのdatadirの変更について

    mysqlのdatadirを以下の手順で変更するのですが、mysqlが起動しません。 datadirの変更方法を教えてください。 -- centosにyumコマンドでmysqlをインストールしました。 datadirを変更するため、/etc/my.cnfの[mysqld]セクションに以下の行を追加しました。 [mysqld] #datadir=/var/lib/mysql datadir=/opt/mysql /opt/mysqlには、mysqlユーザ、グループに権限を与えています。 mkdir -p /opt/mysql chown -R mysql:mysql /opt/mysql chmod -R 775 /opt/mysql 変更後、起動するのですが、mysqlが起動しません。 /var/log/mysqld.logには、次のように出力されています。 110121 14:15:18 mysqld started 110121 14:15:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 110121 14:15:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 110121 14:15:18 [Warning] Can't create test file /opt/mysql/localhost.lower-test 110121 14:15:18 [Warning] Can't create test file /opt/mysql/localhost.lower-test 110121 14:15:18 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'create'. InnoDB: Cannot continue operation. 110121 14:15:18 mysqld ended よろしくお願いします。

  • 環境変数TEMPを使用するアプリがアクセスエラー

    下記のエラーメッセージが表示されてアプリケーションが動作しないのですが、 Windowsって、環境変数TEMPにアクセスエラーでファイルが書き込めない場合ってあるものなのでしょうか? また、何が原因でこのような状態になるのでしょうか? エラー: TEMP ディレクトリへのアクセスが拒否されました。XmlSerializer を実行している ID '{0}' に、TEMP ディレクトリへのアクセスに必要なアクセス許可がありません。CodeDom では、プロセスが使用しているユーザー アカウントを使用してコンパイルしようとするため、ユーザーが TEMP ディレクトリへのアクセス権を持っていない場合、コンパイルはできません。TEMP ディレクトリの場所を見つけるには、Path.GetTempPath() API を使用してください。 とのエラーが発生します。 環境 .NET Framework2.0(C#/WinForm) Windows7 補足 TEMPの内容 Path.GetTempPath()で取得すると「C:\Users\hogehoge\AppData\Local\Temp\」 となっており、問題は無さそうです。 テストプログラムのエラー(添付にファイル作成) System.UnauthorizedAccessException: パス 'C:\Users\hogehoge\AppData\Local\Temp\null.txt' へのアクセスが拒否されました。 以上

  • ディレクトリの削除

    winxp he sp2 Q: \temp以下のdirectoryとfileを削除する方法ありませんか  RD /s \temp では \tempも削除されます。 \tempは残して、それ以下のdirとfileを削除する方法です。 \tempの下の\aa \bb はテンポラリdirで、名前がころころ変わります。 \temp -\aa 名前がころころ変わる -\bb 名前がころころ変わる RD /s \temp /S 指定されたディレクトリに加えて、そのディレクトリ内のすべての ディレクトリとファイルを削除 よろしくお願いします。

  • 4.0.14から4.0.26にDBを移行する時、コピーではダメなのか?

    MySQL 4.0.14で使っていたデータベース(C:\mysql\data にあった複数のDBフォルダ―― ib_arch_log_0000000000、ib_logfile0などを含む)があり、別のPCに、MySQL 4.0.26 をセットアップ&C:\mysql\dataに上記ファイルやmy.iniの内容(文末ご参照)もそっくりコピーしてWinを再起動してみたのですが、WinMySQLadmin.exeでみたり、mysql.exeから「show databases;」と叩いてみた限りでは最初にあったtestしか認識してくれません。 単純に、これらをコピーしただけでは移行できないのでしょうか? OSは、WindowsXP(SP2)です。よろしくお願い致します。 my.ini ------------------------- [mysqld] basedir=C:/mysql #bind-address=192.168.*.* datadir=C:/mysql/data #language=C:/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M default-character-set=sjis [WinMySQLadmin] Server=C:/mysql/bin/mysqld-nt.exe user=root password=********

    • ベストアンサー
    • MySQL
  • Radiusのmake時に表示されるエラーの解決策を教えて頂けないでしょうか?

    現在CentOS5.3に、以下の手順でRadiusをインストールしようとしていますが、makeを行うと以下のようなエラーが表示されます。Linuxをさわり始めて日が浅いため、解決策がわかりません。(※PHP、MySQL、httpd はインストール済みです。) In file included from rlm_sqlippool.c:37: /tmp/freeradius-1.1.7/src/include/modpriv.h:7:18: error: ltdl.h: No such file or directory