Discussion:
Purposely Corrupting a table
(too old to reply)
Krishna Chandra Prajapati
2010-10-19 14:49:22 UTC
Permalink
Hi,

Keep key_buffer_size very low and insert lots of data into table (myisam).
After some time the index file will crash.

Krishna
CGI.COM
Ok, been googling all morning, and keep getting the same post (on
multiple different sites).
Is there a way, where i corrupt a table purposely? I've tried playing
with the .MYD file, and yeah, it "marks" it deleted under the check
routine, but the table is still readable/writable, just doesn't have
any info when selecting it...
is there another way to corrupt the table, where you can't even select
from it, or the responce back from a select is an error?
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
Suresh Kuna
2010-10-19 16:45:30 UTC
Permalink
I'll tell a much easier way to corrupt table. Open the data or index file,
remove some text data in the file and save.
It will show it a corrupt. ( Only for test setups ).
It's easy to corrupt the MYISAM index (MYI) file... I do something
like this in linux -- assuming your table is not tiny, and mysql isn't
dd if=table.MYI of=table2.MYI bs=2048 count=100
then copy table2.MYI over table.MYI and then "flush tables" and then
unlock.
Your table will be unreadable until you rebuild the index with REPAIR
TABLE or myisamchk. The MYD file will remain intact.
If your MYI file is smaller than 200k, then just reduce the count=#.
-Hank
Ok, been googling all morning, and keep getting the same post (on
multiple different sites).
Is there a way, where i corrupt a table purposely? I've tried playing
with the .MYD file, and yeah, it "marks" it deleted under the check
routine, but the table is still readable/writable, just doesn't have
any info when selecting it...
is there another way to corrupt the table, where you can't even select
from it, or the responce back from a select is an error?
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
--
Thanks
Suresh Kuna
MySQL DBA
Loading...