In one of my MySQL databases, I have several thousand tables. MySQL stores each table as a separate file (well, files). I noticed in my normal routine of running mysqlcheck over the database that two had become corrupted, which isn't that unusual. It happens.
Usually I just run mysqlcheck --repair on the table, it fixes it, and I move on. That didn't work. OK, next step, I shut down MySQL and run myisamchk on the table file, that *always* fixes it. No good, gives me an error writing to the file I've never seen before.
Then I go and see if I can copy the file out and take a look at it alone. I try moving one of the two corrupted table files:
cp: reading `counter_premium/_3928_log.MYI': Input/output error
What could mess up two individual files so bad that they give I/O errors?