I’ve been using kaddressbook for a long time, long after I switched from KDE to Gnome. It has worked well until now.
After returning from vacation I decided to update my laptop from Ubuntu Karmic to Lucid, and then found that kaddressbook wouldn’t start. Digging into it I found a maze of errors related to mysql and innodb. I hadn’t even realized that kaddressbook was using mysql for my addressbook till now. It’s a bit of an overkill for my little home addressbook
After spending some time tracing mysql and trying to work out why I was getting “InnoDB: No valid checkpoint found”, I realised there was an easier way. Inside that mysql database was just a set of binary VCARD records. So the quick fix was:
mlgrep.py BEGIN:VCARD END:VCARD ~/.local/share/akonadi/db_data/ibdata1
putting the result in a file. I then imported the file into the evolution contacts app and all was well. Of course, this assumes records aren’t split within the db, but it seems to work well enough for this quick fix.
See http://samba.org/ftp/unpacked/junkcode/mlgrep.py for mlgrep.
Cheers, Tridge
If they were all under 768 bytes then it certainly is the case you would have gotten all of them. This is the point at which in some row formats the BLOB is split to other pages.
It’s also possible one of the innodb-force-recovery options would help. It’s possible that the log file is corrupted/invalid e.g. the data files were backed up/restored without the server being shut down.
http://code.google.com/p/innodb-tools/wiki/InnodbRecoveryHowto
could also be useful for low level innodb recovery