If you switch your tables to the InnoDB table type, they will recover more gracefully and automatically from a crash (except in certain really nasty cases where your hardware is conspiring against you).
Excellent. Thanks.
I'll keep this mysql-specific short as I can (and probably follow up with some further questions via an mysql-based community) so as not to be too far off topic, but for now I ask:
These things (below) seem to represent the difference between what I have come to know as "journaled" mechanisms (filesystems/databases) and non-journaled filesystems/databases. (I'm more familiar with the file-system side then the database side). Is this correct?
Assuming I'm "on" with my analogy: I'm a bit stunned that my XAMPP-1.49a-based system doesn't come with full journaling capability (that can allow for auto-data-integrity-rebuilds after ungraceful shutdowns...like NTFS over FAT32, etc) in its databases (in this case Mysql)...nor that Mysql can not (seemingly) support full ungraceful recovery and other journaling features (because some applications like MediaWiki need MyISAM for the text-indexing capabilities that InnoDB does not support?). Is this capability--or lack thereof--traditionally accepted in the open-source database world? Are there other open-source databases that can handle it better? (Or maybe mysql does just fine with converting "most" tables to InnoDB?) Or is one forced to go the mega-$$$ way of products from companies like Oracle?
I'll be digging up more around the web on this (because it applies to the product/service I'm building for my company--outside of things like MediaWiki IT), but if anyone can point me to some other references, it would be truly helpful.
Thanks all for the continued support from this MediaWiki community. I have had quite a good experience thus far since installing my software.
-Matt
At 4/28/2005 06:14 PM, Brion Vibber wrote:
Matt England wrote:
...so then I did some googling on "mysql errno 145" and found this reference:
http://www.karakas-online.de/forum/viewtopic.php?t=332
...and then followed the recommendations there to do the following stuff, which seems to have cleared up my problem. (*whew*)
Is it fair to assume that database-table corruption (particularly the indeces) can be a common issue, particularly during an ungraceful (in my case 'kill -9') database shutdown?
Error 145 is: 145 = Table was marked as crashed and should be repaired
MySQL's old MyISAM table type is not designed to automatically recover from crashes and other irregular system shutdowns. A table that's not closed regularly is left with a marker indicating it was left open, and the system requires you to run an integrity check when it's back online before continuing.
This may sound familiar from CHKDSK/Scandisk on MS-DOS/Windows or fsck on older Unix/Linux filesystems; it's the same basic way of doing things.
If you switch your tables to the InnoDB table type, they will recover more gracefully and automatically from a crash (except in certain really nasty cases where your hardware is conspiring against you).
Note that the searchindex table must be MyISAM because InnoDB doesn't support the full text indexing it uses, but every other table can be InnoDB.
-- brion vibber (brion @ pobox.com)
MediaWiki-l mailing list MediaWiki-l@Wikimedia.org http://mail.wikipedia.org/mailman/listinfo/mediawiki-l