Ich hatte gerade dies und präsentierte sich zunächst als "mysql respawnt zu schnell
" Fehler in dmesg
Protokolle.
Von anders lesen Ich habe es auf das zurückgeführt, was Sie gefunden haben, und ich denke, es hat funktioniert, dass dies auf eine Art Beschädigung in den Metadatendateien von InnoDB hinweist. InnoDB erledigt Dinge wie die Sicherstellung der Transaktions-/Rollback-Integrität und der Primär-Fremdschlüssel-Integrität. Das ist es, wovor Sie der "Checksum Mismatch"-Fehler warnt.
Sie sagen nicht, wie Sie mysqld starten, aber vielleicht verwenden Sie eine Variante von entweder /etc/init.d/mysqld start
oder service mysqld start
. Führen Sie den Daemon stattdessen explizit als Befehl aus:
sudo /usr/sbin/mysqld --innodb_force_recovery 0
und solange Sie wissen, warum Sie es tun, erhöhen Sie schrittweise den Nullwert von --innodb_force_recovery
bis der Prozess beginnt.
Warnung: Der innodb_force_recovery -Parameter bestimmt, wie ernsthaft mysqld versucht, den Prüfsummenfehler im InnoDB-Speicher zu "erzwingen". Sie können das Problem also verschlimmern oder müssen später den Index neu erstellen, wenn Sie hier mit einer hohen Zahl eine Fehlerbehebung erzwingen, da InnoDB immer drastischere Dinge tun wird, um zu versuchen, sich selbst zu beheben.
Jedes Mal, wenn Sie mysqld
nicht neu starten mit einer bestimmten Nummer z.B. 2
, sollten Sie nach den Fehlermeldungen suchen, die Sie erhalten, bevor Sie sie auf 3
erhöhen damit Sie sicher sein können, das Richtige zu tun. Ich bin kein Experte für jeden Fehler, den Sie erhalten könnten, daher kann ich kein Feedback für jede außergewöhnliche Bedingung geben:Alles, was ich sage, ist, verwenden Sie --innodb_force_recovery
Vorsicht!