2013年5月9日木曜日

MySQLのERROR 1(HY000):書き込み/作成できませんファイルに

Original post: http://anothermysqldba.blogspot.com/2013/05/mysql-error-1-hy000-cant-createwrite-to.html


> DESC foo_table;
ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_3ff6_0.MYI' (Errcode: 13 - Permission denied) 

今、このエラーは、文書化されています:http://dev.mysql.com/doc/refman/5.6/en/cannot-create.html

これは前方にまっすぐ修正です。 / tmpフォルダのパーミッションに何が起こったのか? それは許可されていないので書き込みます。 だから最初にディレクトリのパーミッションを変更して何かに探し始めることを修正する必要があります。

chmod 1777 /tmp 

私はそれを見た後、修正することを楽しみにかなりストレートであっても、一例として、このエラーを使用します。

まず、全体のエラーメッセージを見て、あなたが見た最初のエラーに焦点を当てていません。
あなたはERRCODEを持っている場合たとえば、次のように

  • ERROR 1に焦点を当てていない
  • HY000に焦点を当てていない

ERRCODEはあなたが必要とするすべての情報を提供するときは、あなたの時間を無駄にされるであろう。
それがあなたに渡されただけで、エラーメッセージ情報であることが起こったなら 、あなたエラーをルックアップするために利用可能なリソースを持っていますか:



私はまた、二重のすべてのエラーメッセージを確認するために、エラーログを確認するべきであることを強調したい。
誰かがあなたにエラーを送信するという理由だけで、それは全体の話であることを意味しません、常にあなたのログを確認します。


あなたは少し説明が表示されますエラー出くわすない場合、それはあなたがエラーの詳細を学ぶために能力を持っていることは事実である。

システムコールやライブラリ関数の呼び出し中に発生した最後のエラーを説明する。" -http://man7.org/linux/man-pages/man3/perror.3.html


# perror 13
OS error code 13: Permission denied 


ところで.. 上記のエラーに関連し、そのが必要とされた場合は、tmpdirの場所を変更することも可能である。 このケースではそうではありませんでしたが、それはあなたが今まであなたはこれで、現在のTMPDIRを見つけることができ、デフォルトを変更したり、上書きする必要があります:
> select @@tmpdir;
+----------+
| @@tmpdir |
+----------+
| /tmp |
+----------+ 
あなたが好むどんな場所= / tmpのmy.cnfファイルと場所TMPDIRを編集することができます。