Quanto segue ha funzionato per il mio:
-
Imposta innodb_force_recovery =1 nel tuo my.cnf
-
Prova a riavviare mysqld. In caso contrario, ripetere il passaggio n. 1 e incrementareinnodb_force_recovery di ciascuno fino al successo. Usa la guida per aiutarti a capire cosa sta succedendo ogni volta che lo incrementi:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
-
Una volta che mysqld è in esecuzione, prova a scaricare tutti i tuoi database
- Se ciò non va a buon fine, dovrai prima provarlo a livello di database
- Se ciò non va a buon fine, dovrai provarlo a livello di tavolo
-
Una volta che uno di questi ha avuto successo e tutti i tuoi db o tutte le tue tabelle sono stati esportati, ferma mysqld
-
Sposta il tuo ib_logfile*> ib_logfile*.bak. Questi sono in genere nella tua directory di dati mysql.
-
Se nel primo passaggio hai incrementato il tuo innodb_force_recovery => 4, devi impostarlo al di sotto di 4. A partire dalla 5.6.15, un'impostazione innodb_force_recovery di 4 o più posiziona InnoDB in modalità di sola lettura.
-
Avvia il server MySQL
-
Importa i tuoi database o tabelle esportati
-
Incrementato il tuo innodb_force_recovery => 1
-
Riavvia il server mysqld