> Paul DuBois wrote:
> > At 1:12 +0100 3/14/03, Nico van Leeuwen wrote:
> >
> >> When I delete something how do I make sure there isn't a trace of it 
> >> left? I am looking for a linux shred type solution. There should be 
> >> absolutely no possibility of data recovery. 
> >
> > As far as I'm aware, there isn't anything like this.
> > If such a table has a primary key, you could use it to
> > update all the values in the row to overwrite them, then
> > delete the record. 
> 
> I'm too inexperienced with MySQL to know if that'll do the trick in it,
> but I do know that it won't necessarily in some other DBMS's.  Under
> some circumstances (specifically, if there's any compression or
> variable-length rows involved), the update can cause a row to be moved
> to elsewhere in its file, much like a delete/insert combination, which
> could leave data physically present although logically inaccessible
> through the DBMS.

True enough. What actually happens depends on the number of variable
length fields in the table. If rows are fixed size, a deleted slot is
available for use by a new record immediately. It doesn't mean that it
*will* be used immediately of course, just that it's available.

If the row has variable length, there isn't a ready solution to the need
for guaranteed absence of recoverable data. After all, even if you could
practically ensure that fragments weren't left in unused part of the
table, it's likely to be in the swap areas somewhere.

In reality, the only way to make sure that it isn't on disk anywhere is
completely impractical. If the data is sensitive (personal data or
company confidential) as opposed to military/government secure (secret
or above) maybe it's not worth the effort. It it *is* secret or
greater, then you need to start from a certified secure platform which
will help but not remove the problem.

Regards,

Paul Wilson
Chime Communications


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to