I had a very large corrupt innodb table. mysqld would crash whenever I did a check table on it. I did a innodb-force-recovery=1 and did a dump of the table. No errors showed up.
I dropped the table and attempted to restore, it completed fine. I did another mysqlcheck on the table, part way through Mysqd crashed with this error:
Version: '5.1.41-3ubuntu12.10' socket: '/var/run/mysqld/mysqld.sock' port: 3306 InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 266102. InnoDB: You may have to recover from a backup. 120203 23:56:24 InnoDB: Page dump in ascii and hex (16384 bytes): len 16384; hex bc702d5400040f760004 .... ... 120203 23:56:24 InnoDB: Page checksum 1745088809, prior-to-4.0.14-form checksum 2260539380 InnoDB: stored checksum 3161468244, prior-to-4.0.14-form stored checksum 2260539380 InnoDB: Page lsn 230 3433899790, low 4 bytes of lsn at page end 3433899790 InnoDB: Page number (if stored to page already) 266102, InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 994 InnoDB: Page may be an index page where index id is 0 4668 InnoDB: (index "PRIMARY" of table "mycompany"."Fact") InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 266102.
I thought dumping a table successfully then restoring from it should clear the corruption? why is it still corrupted and I cannot restore it?
This is on an Ubuntu 10.04 release mysql 5.1.41.
This is on a VPS host so a memory check would not work. Is there anything else that could be the problem?
Any help would be appreciated.