[Résolu] Mariadb (mysql) ne démarre plus même après suppresion des bases

Tags: #<Tag:0x00007f63f3274f80>

Bonjour,
j’ai déjà arpenté pas mal le web et le forum mais ne trouve pas spécifiquement d’explication à ce que je trouve.

Hier, sur mon portable qui sert pour développement, j’ai modifié quelques tables sur une base de données mariadb.
Ce matin, au démarrage du poste, mysql ne démarre plus.
En exécutant un “systemctl status mariadb”, j’ai un

Status: "InnoDB : Fatal: Ending processing because of a corrupt database page"

Bon OK, j’avais déjà eu le coup 2 fois sur mon os précédent (linux mint debian edition), et je pensais me débarrasser de cela en installant une debian stretch toute fraîche, mais non.

J’ajoute donc un

innodb_force_recovery=4

au fichier “my.cnf” et le service démarre.
Là où commencent les choses bizarres :

Un mariadbcheck ou mysqldump me sort un

unknown variable 'innodb_force_recovery=4'

Je réussis tout de même à faire une sauvegarde avec PHPmyAdmin. Je supprime la base de donnée que j’avais modifié avant le plantage.
Mais sans l’option “innodb_force_recovery”, le service ne démarre toujours pas.
Au diable, j’y vais comme un bourrin, je supprime toutes les bases utilisateurs… et toujours pareil.

Quelqu’un a-t-il une idée ?
Suis-je obligé de réinstaller mariadb ? Si oui, comment le faire proprement ? (j’avais essayer lors de mon problème précédent sous linux mint mais sans succès, j’avais dû mal m’y prendre)

Merci à ceux qui ont eu le courage de me lire.

en utilisant l’option purge.
En t’assurant que le service est down, d’abord, et ensuite à supprimer tout ce qui est dans /var/mysql, ou /var/lib/mysql… ça dépend !
En vérifiant que tu n’aies aucun fichier ~/my.cnf, sous aucun utilisateur…

Et, après seulement tu réinstalles le service, voire le client.

OK, merci.
Je viens de résoudre juste avant de voir cette réponse mon problème de [quote=“nico, post:1, topic:74551”]
unknown variable
[/quote]
J’avais oublié de nommer la section dans le my.cnf

[mysqld]

J’avais supprimé les bases de données via phpmyadmin, est-ce la suppression s’est bien passée ?

Dans les logs, quand j’essaie de démarrer le service, je vois apparaître la dernière base manipulée avant le problème. (Innodb ; page dump in ascii and hex)

Y a-t-il juste moyen de restaurer les bases de données initiales par défaut (base mysql, information, etc.) ?

Merci, avec tes instructions j’ai pu faire une réinstall propre
(j’appréhendais car il y a beaucoup de sujet sur le forum avec des réinstall qui plante)

Le seul bémol, c’est que l’utilisateur phpmyadmin n’a pas l’air d’avoir les mêmes droits qu’avant (comme la gestion des privilèges)

Est-il sage de corriger cela à la main en mysql ?

Non !
Si ça fonctionne correctement, et que tu ne maîtrises pas le sujet, laisse par défaut !

Et, au lieu d’utiliser phpmyadmin, qui est un nid de trou de sécurité régulier, utilises plutôt adminer :wink:
Aussi puissant que PMA… plus léger, voire dit plus sécurisé !
Et, peux être installer n’importe où sur le système sans créer une faille…

En utilisant peut-être l’argument ‘‘reinstall’’ à l’option ''install" de l’outil apt…
Le seul moyen d’être vraiment sûr est de purgé, puis d’installer à nouveau !

OU de les avoir sauvegardé au début, pour les restaurer au besoin…