I ran out of space on a large, busy production database just a few weeks
ago. All tables are InnoDB and I experienced zero data loss.
It was actually running out of space for almost 2 weeks after a review of
the log file. As temp files were deleted transactions were able to continue
until all but zero bytes of the disk were available.
I think MySQL did a fantastic job handling the problem.
On Fri, May 21, 2010 at 9:21 AM, Tim Gustafson <tjg@stripped> wrote:
> > if MYSQL attempts to insert more bytes than what is available
> > on disk you will get 28 ENOSPC No space left on device
> > http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html
> Does it figured that out before it tries to write a record? So, if I have
> 2KB left on the device and I write a 4KB record, does the first 2KB get
> written and then the error occurs, or does the error occur before the write
> is attempted?
> I guess what I'm asking is will the tables be marked as "crashed" when an
> ENOSPC happens, or will the tables still be in good health?
> If they're still in good health, then I suppose that I could use ZFS file
> systems to allocate space for databases...it just seems that this ought to
> be a feature of the database. :)
> Tim Gustafson
> Baskin School of Engineering
> UC Santa Cruz
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql?unsub=1