As far as I know, using InnoDB tables with innodb_file_per_table = off
does not prevent deleted data from being visible in the ibdata1
file.
I know this is by-design, and that I could switch the system setup to use innodb_file_per_table = on
, which would allow the system to shred the ibdata*
files containing the sensitive information, however there is "no server downtime allowed"
Could I simply overwrite the sensitive information in the ibdata1
file somehow, so that some erroneous this is sensitive
reads this is xxxxxxxxx
afterwards.
I'm not a DBA and neither know whether this would work out at all, or will destroy some checksums, crash the server, or whatever.
So my question is, what can I do to prevent leaking in the meantime without affecting the stability of the running server?
OPTIMIZE TABLE
: dev.mysql.com/doc/refman/5.5/en/optimize-table.htmlvar/lib/mysql
already was/is restricted to themysql
user.OPTIMIZE TABLE
lock the table for the time optimizing? Because if so, then it unfortunately will not help.