Pro mě fungovalo následující:
-
Nastavte innodb_force_recovery =1 v my.cnf
-
Zkuste restartovat svůj mysqld. Pokud ne, opakujte krok #1 a incrementinnodb_force_recovery každým, dokud nebude úspěšný. Použijte průvodce, který vám pomůže pochopit, co se děje při každém zvýšení:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
-
Jakmile mysqld běží, zkuste vypsat všechny databáze
- Pokud to nebude úspěšné, budete to muset nejprve vyzkoušet na úrovni databáze
- Pokud to nebude úspěšné, budete to muset zkusit na úrovni stolu
-
Jakmile je jeden z nich úspěšný a buď všechny vaše databáze nebo všechny vaše tabulky jsou exportovány, zastavte mysqld
-
Přesuňte svůj ib_logfile*> ib_logfile*.bak. Ty jsou obvykle ve vašem datovém adresáři mysql.
-
Pokud jste v prvním kroku zvýšili hodnotu innodb_force_recovery => 4, musíte ji nastavit pod hodnotu 4. Od 5.6.15 nastavení innodb_force_recovery na 4 nebo více umístí InnoDB do režimu pouze pro čtení.
-
Spusťte server mysqld
-
Importujte své exportované databáze nebo tabulky
-
Zvýšil se váš innodb_force_recovery => 1
-
Restartujte server mysqld