0

私は今、頻繁にエラーを受け取ります:

#1 - Can't create/write to file '/tmp/#sql_1a2_3.MYI' (Errcode: 2)

私のMySQLサーバーから。デーモンを再起動するまで、クエリやデータの変更をロックアウトします。その後、しばらく修正されますが、再び発生します。777 パーミッションで tmp ディレクトリ内のファイルに touch を使用してみました。また、tmp ディレクトリを MySQL ディレクトリ (/var/lib/mysql/tmp) 内に移動しようとしました。

MySQL エラー 1 (HY000) ファイル作成エラー エラーコード 2

どちらも機能していません。私の tmp ディレクトリは 90% 以上の空き容量があり、完全にはほど遠いため、この質問からの最良の回答は当てはまりません。

MySQL: ファイル '/tmp/#sql_3c6_0.MYI' を作成/書き込みできません (エラーコード: 2) - どういう意味ですか?

4

1 に答える 1

1

これは、多くの結合を含む複雑なクエリ中に作成された巨大な一時テーブルが原因であることがわかりました。アプリケーションのどこにそのようなクエリが存在する可能性があるかを考え、ディスク アクティビティや空き容量を監視しながらクエリをトリガーしてみてください。これが、何が起こっているのかを発見した方法です。解決策として、一時テーブル (デフォルトでは /tmp) に使用するスペースを増やすか、クエリをリファクタリングしてみてください。/tmp を見ると空で十分なスペースがあるという事実は、クエリの実行中にすべてが消費されていないという意味ではありません。私たちの場合、 /tmp はディスク上の利用可能なすべてのスペースを使用する可能性があり、実際にはこの特に複雑なクエリの実行中に実行され、それでも十分ではなかったため、あなたと同様のエラーで中断しました.

于 2013-02-12T15:11:38.223 に答える