Admin/Dev

07
Oct.
2020

Astuce MySQL/MariaDB : Corriger l'erreur 1010 à la suppression d'une base.

Publié par sky

Cela arrive assez rarement, mais cela arrive tout de même. De temps en temps, je n'arrive pas à supprimer une base de données et renvoie lorsqu'on exécute la commande

mysql> drop database MaDatabase;

le résultat

ERROR 1010 (HY000): Error dropping database (can't rmdir './MaDatabase/', errno: 17)

Dans ce cas, pas de stress, la solution est très souvent la même, un fichier est coincé dans le dossier de la base de données et empêche la suppression.

Si vous ne savez pas ou MySQL/MariaDB stocke ses fichiers, profitez d'être connecté pour regarder le chemin vers les données.

mysql> SHOW VARIABLES WHERE Variable_Name LIKE "datadir";

Voici le résultat avec une installation de MariaDB sur macOS

+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| datadir       | /usr/local/var/mysql/ |
+---------------+-----------------------+
1 row in set (0.001 sec)

Le chemin peut être différent selon les installations et les systèmes.

Il suffit donc d'aller dans le dossier

cd /usr/local/var/mysql/

De vérifier que le dossier de la base est toujours là.

ls -l

Puis regardons ce qu'il y a dedans (en vérifiant les fichiers invisibles)

ls -la MaDatabase

Voici le résultat sur la dernière base de données en question

total 88
drwx------  2 mysql mysql  4096 Sep 16 18:36 .
drwx------ 60 mysql mysql  4096 Sep 16 18:36 ..
-rw-rw-rw-  1 mysql mysql 81578 Nov 17  2014 stats.txt

Un fichier stats.txt qui traine et qui ne veut pas se supprimer.

La solution est rédhibitoire, le supprimer avec les droits administrateurs

rm -rf MaDatabase/stats.txt

Puis retourner dans MySQL pour finir le travail

mysql> drop database MaDatabase;

La réponse est enfin celle espérée

Query OK, 0 rows affected (0.00 sec)

La base de donnée n'existe plus.

 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Captcha indisponible
Pour valider le formulaire, vous devez confirmer que vous êtes bien une personne. Actuellement, la fonctionnalité est indisponible. Vous devez activer le service ReCaptcha dans le gestionnaire des cookies, et donc consentir à l'utilisation de ses cookies.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
ReCaptcha  En savoir plus
Permet de valider que les visiteurs sont bien des humains lorsqu'ils valident des formulaires.
 
Tout accepter Tout refuser Gérer