我有一个java/mysql应用程序。我使用我的Java应用程序将大量数据写入mysql。但在某些情况下,由于磁盘已满,mysql正在崩溃。是否有可能从java/jdbc处理mysql diskfull场景?java mysql磁盘已满
问候
我有一个java/mysql应用程序。我使用我的Java应用程序将大量数据写入mysql。但在某些情况下,由于磁盘已满,mysql正在崩溃。是否有可能从java/jdbc处理mysql diskfull场景?java mysql磁盘已满
问候
是否有可能从java/jdbc处理mysql diskfull场景?
好的。这将在JDBC更新语句中表现为失败,您可以根据异常的(MySQL特定的)代码来检测该更新语句。
但是,一旦你已经发现异常,我怀疑你可以做很多事情来恢复。如果光盘已满,则需要人工干预才能解决问题;例如查找可以删除的文件。
它会检查每分钟一次,看看是否有足够的空间写入当前行。如果有足够的空间,它就像没有发生任何事情一样继续。
每10分钟它向日志文件写入一个条目,警告磁盘已满情况。
请参考以下链接:
http://dev.mysql.com/doc/refman/5.0/en/full-disk.html
试图处理MySQL错误代码:28(磁盘已满)通过你的Java代码。
磁盘满条件被MySQL检测到并处理,结果是您的INSERT查询失败。如果你想用Java处理它,处理失败的INSERT。
我想其他SQL语句也可能会失败。 – 2011-12-26 09:13:56
请发表您的看法a)从JDBC获得的错误b)当光盘变满时你试图做什么c)mysql服务器错误日志中的所有错误。你使用的是什么引擎也可能有帮助。当磁盘变满时,MySQL不应该崩溃(但其行为,根据我的经验,并不总是有用) – MarkR 2011-12-26 23:06:24