While importing a dump into a newly created database, the server stopped with the classic server has gone away message. I know why this happened and the fact that it did occur isn’t part of the problem. I’ve removed the database directory from /usr/local/mysql/data/ and still mysqld will not start successfully, probably because of a log or init file.
The goal is to get this fixed without having to fully reinstall mysql.
MySQL err log:
InnoDB: Page checksum 1559794421, prior-to-4.0.14-form checksum 641317514
InnoDB: stored checksum 3364647797, prior-to-4.0.14-form stored checksum 641317514
InnoDB: Page lsn 16 1049927436, low 4 bytes of lsn at page end 1049927436
InnoDB: Page number (if stored to page already) 43379,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page may be an index page where index id is 0 3302
InnoDB: (index "some_index" of table "some_database"."some_table")
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 43379.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
InnoDB: Ending processing because of a corrupt database page.
MySQL version:
$ mysql --version
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.55, for apple-darwin10.3.0 (i386) using readline 5.1
MySQL conf file:
$ cat /etc/my.cnf
[mysqld]
max_allowed_packet=128M
You can try to do a Force Recovery by this way :
How to do a Force Recovery InnoDB
Or a safer way to try recovering the table :
Table Recovery after Database page corruption
I hope it will help you.