2012-11-27 43 views
0

操作系統:Ubuntu的LTS 12.04.1 MySQL的 版本:5.5.28-0ubuntu0.12.04.2MySQL的LOAD DATA LOCAL INFILE工作間歇

當我嘗試運行LOAD DATA LOCAL INFILE我收到錯誤1148(每1中4次),但只有在下列情況下

  • 當命令通過PHP的wget cron任務(運行失敗次數最多,作品圍繞
  • - 所使用的命令是不是跟這個版本的MySQL允許)
  • 當在瀏覽器會話中通過PHP文件運行該命令(失敗兩次,然後通常在第三次)

我看到的是,如果腳本運行正常,並作出努力非常不久之後運行它,它工作正常 - 但它運行後等待5 +分鐘,它開始再次失敗,直到我刷新足夠的次數才能讓它再次運行。我需要從cron每次成功運行它。

我在my.conf中的[mysqld],[mysql]和[client]條目下添加了local-infile(不是local-infile = 1),然後重新啓動服務器,無濟於事。我也嘗試在[client]下輸入loose-local-infile = 1,但沒有喜悅。

數據庫文件夾已移至其他位置(/ media/Data/mysql_data)並由root擁有。

導入文件下載到本地框的權限0644

這裏是一個真實運行命令的命令:

LOAD DATA LOCAL INFILE 
      "/var/www/'.$import_dir.$table.'.csv" 
      INTO TABLE _PREP_'.$table.' 
      FIELDS TERMINATED BY "," 
      OPTIONALLY ENCLOSED BY "\"" 

.. $ import_dir和$表是的路徑和名稱導入文件。

有其他人見過這個? 是否有任何日誌可以查看它爲什麼失敗? 爲什麼只是間歇性失敗?

這一切都有點奇怪。爲了記錄,這是一個新盒子,腳本總是表現得像這樣。

所有幫助表示讚賞。 -PaulG

+0

除此之外,我發現腳本在重啓mysql服務器後運行良好(短時間,可能2-3次),並且在--local-infile = 1標誌上。之後,它停止工作。 – PaulG

回答

0

添加額外的標誌到的mysql_connect解決了這個問題對我來說。 查看詳情mysql_connect

+0

偉大的sap1ens - 感謝您的答案,我會讀一讀,並檢查出來。乾杯。 – PaulG