Webアプリケーションの1つで次のエラーが発生しました-
Query3 failed: Error writing file '/tmp/MY1fnqpm' (Errcode: 28) ... INSERT MailList... (removed the rest of the query for security reasons)
何かアイデア-これは私のサーバーのハードディスク容量の問題ですか?
Webアプリケーションの1つで次のエラーが発生しました-
Query3 failed: Error writing file '/tmp/MY1fnqpm' (Errcode: 28) ... INSERT MailList... (removed the rest of the query for security reasons)
何かアイデア-これは私のサーバーのハードディスク容量の問題ですか?
回答:
次のperror
コマンドを使用します:
$ perror 28
OS error code 28: No space left on device
システムでエラーコードが異なる場合を除いて、ファイルシステムはいっぱいです。
while true; do df -h /tmp; sleep 3; done
スクリプトの実行中に使用して、一時テーブルによって使用されているスペースの量を確認できます。
同様の問題が発生しましたが、問題はMySQLが必要に応じて/ tmpディレクトリを使用していたことでした(デフォルトの構成)。また、/ tmpは独自のパーティションに配置されていたため、大きなMySQLリクエストにはスペースが少なすぎました。
詳細については、この回答をご覧ください:https: //stackoverflow.com/a/3716778/994302
このエラーは、MySQLに必要な一時ファイルを作成するのに十分なスペースがないことを意味します。
最初に試すことができるのは、/tmp/
パーティションのサイズを拡張することです。LVMを使用している場合は、lvextend
コマンドを確認してください。
/tmp/
MySQL構成で作業できるパーティションのサイズを増やすことができない場合は、my.cnf
(通常は/etc/mysql/my.cnf
)ファイルを編集して次の行を探します。
tmpdir = /tmp/
必要に応じて変更します(例/var/tmp/
)。必ずスペースを確保し、新しいディレクトリでmysqlユーザーに書き込み権限を割り当ててください。
お役に立てれば!
このエラーは、パーティションに十分なスペースがない場合に発生します。通常、MYSQLはLinuxサーバーで/ tmpを使用します。これは、ルックアップが大量のデータを返すか、大量のデータをふるいにかけて大きな一時ファイルを作成するため、一部のクエリで発生する可能性があります。
/etc/mysql/my.cnfを編集します
tmpdir = / your / new / dir
例えば
tmpdir = / var / tmp
通常は独自のパーティションにある/ tmpよりも多くのスペースを割り当てる必要があります。
今日。私は同じ問題を抱えています...私の解決策:
1)iノードを確認します:df -i
私は見ました:
root@vm22433:/etc/mysql# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 124696 304 124392 1% /dev
tmpfs 127514 452 127062 1% /run
/dev/vda1 1969920 1969920 0 100% /
tmpfs 127514 1 127513 1% /dev/shm
tmpfs 127514 3 127511 1% /run/lock
tmpfs 127514 15 127499 1% /sys/fs/cgroup
tmpfs 127514 12 127502 1% /run/user/1002
2)どのフォルダーが最大数のinodを使用しているかを調べ始めました。
for i in /*; do echo $i; find $i |wc -l; done
すぐに、膨大な数のファイルが含まれている/ home / tomnolane / tmpフォルダーで見つけました。
3)/ home / tomnolane / tmpフォルダーPROFITを削除しました。
4)チェック済み:
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 124696 304 124392 1% /dev
tmpfs 127514 454 127060 1% /run
/dev/vda1 1969920 450857 1519063 23% /
tmpfs 127514 1 127513 1% /dev/shm
tmpfs 127514 3 127511 1% /run/lock
tmpfs 127514 15 127499 1% /sys/fs/cgroup
tmpfs 127514 12 127502 1% /run/user/1002
大丈夫です。
5)restart mysql service
-大丈夫です!!!!