Filen ibdata1 innehåller tabellutrymmesinformationen och annan metadata om din(a) Mysql-databas(er).
Du kan prova att använda innodb_force_recovery = 1
hela vägen till innodb_force_recovery = 6
för att se om det löser problemet. Försök att ändra detta i din my.cnf
(my.ini
för Windows) och försök sedan starta om din mysql-server igen.
Om du kan starta Mysql med hjälp av återställningsflaggan kommer din databas att vara i ett skrivskyddat läge. Du bör göra en mysqldump av data, stoppa mysql, installera om färskt, skapa din databas igen och importera tillbaka i data.
Här är en länk för mer information om innodb återställning dev .mysql .
Om du använder linux...
Ett annat mer komplext alternativ är att använda percona recovery tool kit. Detta kommer att justera dina tabellutrymmen. Men av erfarenhet är det lite av en utmaning att navigera och det tar lite tid att implementera om du är nybörjare.
Akuzminsky, skaparen av verktygslådan (hur coolt är det!) nämnde dock att han har gjort betydande förbättringar av verktygslådan.
Länk för att ladda ner verktygslåda Percona.com
Länk till en genomgång från chriSQL .
Länk till akuzinskys webbplats TwinDB .
Såvida inte den informationen är affärskritisk, skulle jag bara återgå till säkerhetskopian från två veckor tidigare. Mängden tid och ansträngning du kan lägga ner på att återställa dessa data kan vara till stor nytta.