MySQL crash.
I was messing around with MySQL (4.1.12 Debug on OS X), playing with Python's MySQLdb and also Ruby on Rails when MySQL caught a signal 10 and took a fantastically nasty nose dive.
Poking around various tools, I was unable to initiate any kind of recovery as the database couldn't even get to any of it's checkpoints. The recovery tools literally mocked me with messages of "You forgot to give the arguments! Please see bin/mysqlcheck --help" as I tried to divine the right set of switches. Thanks guys.
Digging through some mailing lists, this sentence caught my attention:
There is little hope of recovering your tables. You should resort to a backup and upgrade to 4.0.13.This doesn't make me eager to stick gigabytes of data into it. I think I'll switch back to Postgres for now. There's been a Postgres database running non-stop in my closet for the past 3 years.


![[Atom Enabled]](http://saladwithsteve.com/valid-atom.png)
5 Comments:
Why keep it in the closet? What... are you ashamed of its data?
1:21 PM
Closets are for clothes, not databases.
Ty
2:17 PM
It keeps the noise down when it has its friends over for a party.
And, Steve doesn't have that many clothes, but lots of data. If one has to be strewn across our bedroom floor, I choose the clothes.
3:08 PM
Hey.
This is a lot easier than it sounds. I'm suprised you weren't able to find dox. The mysql.com site is awesome. One of the bests sites for an OSS project out there. Mailing lists are easy to get to... docs are there and in the open.
The only downside is that they rev the docs from version control so it mentions features that aren't released yet.
Anyway... just run REPAIR TABLE or myisamchk from the command line.
If you're on a new DB I'd recommend INNODB... there are few reasons to stick with myisam.
Also use the 3.1.x version of the JDBC driver as this has significant perf updates.
2:01 PM
Hey Kevin,
So my data is already gone. There is no way to recover the tables because the checkpoint is corrupt.
I did use myisamchk and it claimed to have repaired some tables but mysql still will not start.
Also, on a side note, I think that MySQL shouldn't ask you whether you want MyISAM or InnoDB when you create the table because it violates data independence. How table X or Y is stored should be managed at a different level, IMO.
This is probably all of the time I'm willing to spend on MySQL, I don't have any time or data invested in MySQL 4.x a this point so it doesn't bother me to continue using Postgres and ignoring MySQL 4.
Life's too short.
6:00 PM
Post a Comment
Links to this post:
Create a Link
<< Home