Voici ce qui s'est passé pour moi avec Mariadb
Découvrez d'abord si votre fichier de configuration mysql, probablement situé à /etc/mysql/my.cnf
ou /etc/my.cnf
a la bonne entrée mysql.sock ou non
Vous pouvez savoir où se trouve le fichier mysql.sock en exécutant find / -type s
, si l'entrée n'est pas correcte dans votre configuration mysql, corrigez-la, assurez-vous également que mysql.pid a également le bon chemin.
Maintenant, essayez de démarrer le serveur mysql, s'il démarre bien et que vous pouvez voir toutes les bases de données et tables à l'intérieur, vous êtes bon et n'avez pas besoin de suivre le reste du message.
Si mysql ne démarre pas après avoir corrigé le chemin mysql.sock , lisez la suite
Ajoutez ce qui suit à votre fichier my.cnf ,
innodb_force_recovery = 1
à l'intérieur du mysqld
block , et redémarrez mysql.
S'il ne démarre pas, augmentez le nombre d'un à chaque fois, mais gardez à l'esprit qu'après 3, il peut y avoir une perte de données (ce qui ne m'est pas arrivé, mais je n'ai lu que tout ce qui dépasse 3 étant une mesure de récupération, qu'un récupération)
Ne paniquez pas si certaines des tables que vous aviez auparavant, arrêtez de montrer qu'elles n'existent pas dans le moteur. Mysql démarre avec succès (si vous n'avez pas encore de sauvegarde, faites-en une maintenant, juste au cas où les choses iraient mal à partir de maintenant), supprimez innodb_force_recovery = 1
à partir du fichier my.cnf et redémarrez mysql, toutes vos tables devraient être à nouveau disponibles.
Messages qui m'ont aidé
- https://stackoverflow.com/a/20617180/3117013
- https://stackoverflow.com/a/11990813/3117013