Ecco cosa mi ha risolto con Mariadb
Per prima cosa scopri se il tuo file di configurazione mysql , molto probabilmente si trova in /etc/mysql/my.cnf
o /etc/my.cnf
ha o meno la voce mysql.sock corretta
Puoi scoprire dove si trova il file mysql.sock eseguendo find / -type s
, se la voce non è corretta nella configurazione di mysql, file fix it , assicurati anche che mysql.pid abbia anche il percorso corretto.
Ora prova ad avviare il server mysql, se si avvia correttamente e puoi vedere tutti i DB e le tabelle all'interno, sei a posto e non è necessario seguire il resto del post.
Se mysql non si avvia dopo aver corretto il percorso mysql.sock , continua a leggere
Aggiungi quanto segue al tuo file my.cnf ,
innodb_force_recovery = 1
all'interno del mysqld
block e riavvia mysql.
Se non si avvia, incrementa il numero di uno ogni volta, ma tieni presente che, dopo 3, potrebbe esserci una perdita di dati (non mi è successo, ma ho letto solo che qualcosa sopra 3 è una misura di salvataggio, piuttosto che un recupero)
Non farti prendere dal panico se alcune delle tabelle che avevi in precedenza smettono di mostrare che non esistono nel motore . Ones mysql si avvia correttamente (se non hai ancora un backup, meglio crearne uno ora, nel caso in cui le cose vadano male da qui in poi), rimuovi innodb_force_recovery = 1
dal file my.cnf e riavvia nuovamente mysql , tutte le tue tabelle dovrebbero essere di nuovo disponibili.
Post che mi hanno aiutato
- https://stackoverflow.com/a/20617180/3117013
- https://stackoverflow.com/a/11990813/3117013