2011-12-26 86 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