Last week our mail server with innodb got corrupted,
neither the server nor did mysqld crash, so this
might be a mysql bug. Anyway mysqldummp won't dump
anything from messageblks and I found an other (slow)
way to get the data which aren't corrupted yet.

I recovered more 99% of the mails, lost like 1-2 hour mails
instead of 17GB

put this line in the my.cnf

innodb_force_recovery=4

then use the following instruction (replace messageblks
with the table which is corrupted)

mysql> SELECT * INTO OUTFILE '/data/dump'
    ->    FIELDS TERMINATED BY ','
    ->    OPTIONALLY ENCLOSED BY '"'
    ->     LINES TERMINATED BY '\n'
    -> FROM messageblks;

mysql> LOAD DATA INFILE '/data/dump' INTO TABLE messageblks
    ->     FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    ->     LINES TERMINATED BY '\n';


Hope this can help someone in the future

Ming-Wei

Reply via email to