U mnie działały:
-
Ustaw innodb_force_recovery =1 w swoim my.cnf
-
Spróbuj zrestartować mysqld. Jeśli nie, powtórz krok 1 i zwiększ innodb_force_recovery o każdy, aż się powiedzie. Skorzystaj z przewodnika, który pomoże Ci zrozumieć, co się dzieje za każdym razem, gdy je zwiększasz:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
-
Po uruchomieniu mysqld spróbuj zrzucić wszystkie bazy danych
- Jeśli to się nie powiedzie, musisz najpierw spróbować na poziomie bazy danych
- Jeśli to się nie powiedzie, musisz spróbować na poziomie stołu
-
Gdy jedno z nich się powiedzie i wszystkie bazy danych lub wszystkie tabele zostaną wyeksportowane, zatrzymaj mysqld
-
Przenieś plik ib_logfile*> ib_logfile*.bak. Znajdują się one zazwyczaj w katalogu danych mysql.
-
Jeśli w pierwszym kroku zwiększyłeś swoją innodb_force_recovery => 4, musisz ustawić ją poniżej 4. Od 5.6.15, ustawienie innodb_force_recovery na 4 lub więcej umieszcza InnoDB w trybie tylko do odczytu.
-
Uruchom serwer mysqld
-
Importuj wyeksportowane bazy danych lub tabele
-
Zwiększono innodb_force_recovery => 1
-
Zrestartuj serwer mysqld