j'ai utilisé la syntaxe suivante
drop database filmo;
et a obtenu l'erreur suivante:
ERROR 1010 (HY000): Error dropping database (can't rmdir './filmo/', errno: 17)
des idées..
Cela signifie qu'il y a des fichiers dans ce répertoire qui ne concernent pas MySQL. Un autre problème, même si j'en doute, est le manque d'autorisations. Vous pouvez supprimer ce répertoire du système de fichiers.
J'ai la même erreur. Cela a résolu le problème dans Ubuntu 10.04:
stop mysql
rm -rf /var/lib/mysql/XXXXX
start mysql
Où XXXXX est le nom de la base de données incriminé.
Sudo rm -rf/var/lib/mysql/db_production
où db_production est le nom de la base de données
N'oubliez pas d'utiliser "Sudo".
J'ai changé les autorisations sur le dossier mysql (serveur Windows c:\xampp\mysql
) et fonctionne maintenant, j'ai créé et supprimé des bases de données sans aucune erreur.
1) rm -rf /var/lib/mysql/data/***
conserve le répertoire de données, rm le contenu des données/
2) utiliser
mysql -uxxx -pyyy
$ drop database data;
alors il serait correct de recréer à nouveau la base de données . J'espère que cela vous aidera, Attention, la suppression directe du répertoire de données est inutile , quoi que vous redémarriez ou non avec mysqld.
Voici ce que je fais sur Mac OS X Mavericks:
/usr/local/mysql/data
J'ai eu ce problème et cela semble concerner vos autorisations utilisateur mysql. Essayez de le faire par l'utilisateur root s'il fonctionne, utilisez cette commande en tant qu'utilisateur root pour autoriser l'utilisateur à supprimer:
grant drop
execute on *.* to 'your-user-name'@'user-ip';
Voici un moyen de simuler votre erreur
1.créer un répertoire sur le répertoire de données MySQL
mkdir /data/mysql/data/filmo
2.check le dernier article
[root@linux]# ls -ltrh /data/mysql/data/
总用量 173M
-rw-rw---- 1 mysql mysql 48M 4月 17 11:00 ib_logfile1
drwx------ 2 mysql mysql 4.0K 4月 17 11:00 performance_schema
drwx------ 2 mysql mysql 4.0K 4月 17 11:00 mysql
-rw-rw---- 1 mysql mysql 56 4月 18 06:01 auto.cnf
drwxr-xr-x 2 root root 4.0K 4月 18 07:25 backup
-rw-rw---- 1 mysql mysql 19 4月 23 07:29 mysql-bin.index
-rw-rw---- 1 mysql mysql 5 4月 23 07:29 oldboylinux.pid
-rw-rw---- 1 mysql mysql 19K 4月 23 07:29 error.log
-rw-rw---- 1 mysql mysql 76M 4月 23 09:56 ibdata1
-rw-rw---- 1 mysql mysql 48M 4月 23 09:56 ib_logfile0
-rw-rw---- 1 mysql mysql 5.9K 4月 23 10:21 mysql-bin.000001
drwxr-xr-x 2 root root 4.0K 4月 23 10:36 filmo
3.créer un fichier de vidage dedans
[root@linux]# mysqldump -uroot -p123456 -B mysql>/data/mysql/data/filmo/dump_file.sql
4.MySQL croira que filmo est une base de données
[root@linux]# mysql -uroot -p123456 -e"show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| backup |
| filmo |
| mysql |
| performance_schema |
+--------------------+
5.Quand je laisse tomber cette "base de données", voici votre erreur
[root@linux]# mysql -uroot -p123456 -e"drop database filmo;"
ERROR 1010 (HY000) at line 1: Error dropping database (can't rmdir './filmo/', errno: 17)
Je ne sais pas d'où j'ai tiré cette réponse (excuses), mais, bien que semblable à ce qui précède, il contient des informations supplémentaires sur la manière de trouver le répertoire de données mysql:
mysql -e "select @@ datadir"
Ceci, je suppose, est générique et renvoie le chemin vers mysql/data. Si vous accédez à ce répertoire (commande unix/linux/macOS):
cd path_to_ mysql/data
vous trouverez la base de données que vous souhaitez supprimer, ce qui sur nix peut être fait par:
Sudo rm -rf DB_NAME
Sur MacOS X (10.9.5), je n’ai pas pas dû arrêter MySQL, mais cela peut différer sur d’autres plateformes.
avez-vous une permission d'écriture sur ce répertoire (et le parent)? vous devrez peut-être rendre le répertoire accessible en écriture (onglet Sécurité dans Windows ou chmod dans Nix) et supprimer tous les fichiers autres que de la base de données tels que "Thumbs.db"
Cette erreur survient généralement lorsque vous avez un fichier TABLESPACE incorrect dans le fichier ibdata1 (c'est pour le moteur innodb) Le moteur innodb stocke certains paramètres dans le fichier ibdata1.
si vous avez récemment copié/déplacé vos fichiers sur un autre serveur ou essayé de restaurer, vous devez également déplacer le fichier ibdata1, vous pouvez alors supprimer la base de données. Je suppose que vous rencontrez un problème tel que le tableau n'existe pas et que vous le supprimez maintenant. db? Si c'est le cas, arrêtez le service mysql, supprimez les fichiers, puis créez à nouveau la base de données, cela vous aidera. De plus, cela pourrait vous aider [ Erreur lors de la suppression de la base de données (Impossible de rmdir '.test \', errno: 17)