Folgendes wurde für mich mit Mariadb behoben
Finden Sie zuerst heraus, ob sich Ihre MySQL-Konfigurationsdatei höchstwahrscheinlich unter /etc/mysql/my.cnf
befindet oder /etc/my.cnf
den richtigen mysql.sock-Eintrag hat oder nicht
Sie können herausfinden, wo sich die Datei mysql.sock befindet, indem Sie find / -type s
ausführen , wenn der Eintrag in Ihrer MySQL-Konfiguration nicht korrekt ist, beheben Sie die Datei, und stellen Sie außerdem sicher, dass mysql.pid auch den richtigen Pfad hat.
Versuchen Sie nun, mysql server zu starten, wenn er gut startet und Sie alle DBs und Tabellen darin sehen können, sind Sie in Ordnung und müssen dem Rest des Beitrags nicht folgen.
Wenn mysql nach dem Korrigieren des mysql.sock-Pfads nicht gestartet werden kann, lesen Sie weiter
Fügen Sie Folgendes zu Ihrer my.cnf-Datei hinzu ,
innodb_force_recovery = 1
innerhalb der mysqld
blockieren und mysql neu starten.
Wenn es nicht startet, erhöhen Sie die Zahl jedes Mal um eins, aber denken Sie daran, dass es nach 3 zu Datenverlust kommen könnte (mir ist das nicht passiert, aber ich habe nur gelesen, dass alles über 3 eine Rettungsmaßnahme ist, als a Wiederherstellung)
Keine Panik, wenn einige der Tabellen, die Sie zuvor hatten, nicht mehr angezeigt werden, dass sie in der Engine nicht vorhanden sind. Ones mysql startet erfolgreich (wenn Sie noch kein Backup haben, machen Sie jetzt besser eins, nur für den Fall, dass die Dinge von hier an schief gehen), entfernen Sie innodb_force_recovery = 1
aus der Datei my.cnf und starte mysql erneut , alle deine Tabellen sollten wieder verfügbar sein.
Beiträge, die mir geholfen haben
- https://stackoverflow.com/a/20617180/3117013
- https://stackoverflow.com/a/11990813/3117013