更新:我公司的系統管理員刪除了/ tmp目錄,並創建了一個 到已裝入驅動器(例如ln -s/mnt/somewhere/tmp)的符號鏈接。 MySQL顯然不喜歡這個符號鏈接。 一旦創建了本地文件系統上的real/tmp目錄,問題就消失了。在運行Rails遷移時無法寫入MySQL臨時文件
我正在運行一個進程(rake db:migrate),它導致MySQL嘗試創建一個臨時文件。 但是,下面的錯誤出現:
Mysql::Error: Can't create/write to file '/tmp/#sql_196_0.MYI' (Errcode: 13):
SHOW FIELDS FROM `user_rules`
ERRCODE 13顯然是文件權限問題。 正在運行進程的用戶具有對/ tmp目錄的寫入權限。 我也搜索了網頁,有人提到這個問題可能是文件前綴爲英鎊符號(例如'#')。
我去了/ tmp目錄,並試圖創建該文件,並注意到在某些情況下,我無法創建文件,所以我想知道如果確實井號是造成問題,如果是,如何使用MySQL或者Rails來解決這個問題:。
cd /tmp
echo "Hello" > #sql_123
touch #sql_123
echo "Hello" > "#sql_123"
touch "#sql_123"
的第二和第三個命令(沒有引號)失敗了,第四和第五行(帶引號)正在工作,所以也許失敗是因爲英鎊符號不在引號中或者用反斜線轉義,但是即使這樣原因,我不知道如何ell MySQL或Rails如何處理它。
任何想法?
UPDATE:我公司的系統管理員刪除了/ tmp目錄,並創建了一個 指向掛載驅動器的符號鏈接(例如ln -s/mnt/somewhere/tmp)。 MySQL顯然不喜歡這個符號鏈接。 一旦創建了本地文件系統上的real/tmp目錄,問題就消失了。 – Chris 2012-05-12 06:13:31