Folgendes hat bei mir funktioniert:
-
Setzen Sie in Ihrer my.cnf
innodb_force_recovery =1 -
Versuchen Sie, Ihren mysqld neu zu starten. Wenn nicht, wiederholen Sie Schritt 1 und erhöhen Sie innodb_force_recovery um jeden Schritt, bis er erfolgreich ist. Verwenden Sie den Leitfaden, um zu verstehen, was bei jeder Erhöhung passiert:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
-
Sobald mysqld läuft, versuchen Sie alle Ihre Datenbanken zu sichern
- Wenn das nicht gelingt, müssen Sie es zunächst auf Datenbankebene versuchen
- Wenn das nicht gelingt, müssen Sie es auf Tabellenebene versuchen
-
Sobald einer davon erfolgreich ist und entweder alle Ihre Datenbanken oder alle Ihre Tabellen exportiert wurden, stoppen Sie mysqld
-
Verschieben Sie Ihre ib_logfile*> ib_logfile*.bak. Diese befinden sich normalerweise in Ihrem MySQL-Datenverzeichnis.
-
Wenn Sie im ersten Schritt Ihre innodb_force_recovery => 4 erhöht haben, müssen Sie sie unter 4 setzen. Ab 5.6.15 versetzt eine innodb_force_recovery-Einstellung von 4 oder mehr InnoDB in den schreibgeschützten Modus.
-
Starten Sie den mysqld-Server
-
Importieren Sie Ihre exportierten Datenbanken oder Tabellen
-
Erhöhte Ihre innodb_force_recovery => 1
-
Starten Sie den mysqld-Server neu