2011-12-26 94 views
0

我有一個java/mysql應用程序。我使用我的Java應用程序將大量數據寫入mysql。但在某些情況下,由於磁盤已滿,mysql正在崩潰。是否有可能從java/jdbc處理mysql diskfull場景?java mysql磁盤已滿

問候

+0

請發表您的看法a)從JDBC獲得的錯誤b)當光盤變滿時你試圖做什麼c)mysql服務器錯誤日誌中的所有錯誤。你使用的是什麼引擎也可能有幫助。當磁盤變滿時,MySQL不應該崩潰(但其行爲,根據我的經驗,並不總是有用) – MarkR 2011-12-26 23:06:24

回答

0

是否有可能從java/jdbc處理mysql diskfull場景?

好的。這將在JDBC更新語句中表現爲失敗,您可以根據異常的(MySQL特定的)代碼來檢測該更新語句。

但是,一旦你已經發現異常,我懷疑你可以做很多事情來恢復。如果光盤已滿,則需要人工干預才能解決問題;例如查找可以刪除的文件。

2

它會檢查每分鐘一次,看看是否有足夠的空間寫入當前行。如果有足夠的空間,它就像沒有發生任何事情一樣繼續。

每10分鐘它向日志文件寫入一個條目,警告磁盤已滿情況。

請參考以下鏈接:

http://dev.mysql.com/doc/refman/5.0/en/full-disk.html

試圖處理MySQL錯誤代碼:28(磁盤已滿)通過你的Java代碼。

0

磁盤滿條件被MySQL檢測到並處理,結果是您的INSERT查詢失敗。如果你想用Java處理它,處理失敗的INSERT。

+0

我想其他SQL語句也可能會失敗。 – 2011-12-26 09:13:56