2013年5月9日星期四

MySQL錯誤(HY000):無法創建文件/寫入文件

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

>遞減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: 

  • 不注重錯誤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 |
+----------+ 
您可以編輯my.cnf文件和地點TMPDIR = / tmp中你喜歡的任何位置。