it-swarm.com.de

Fehler beim Löschen der Datenbank (Kann '.test \', Fehlernummer: 17 nicht rmdir)

Im Grunde habe ich gelernt, wie man ein Root-Passwort mit dem Befehl "mysqladmin -u root -p password" erstellt. Dies wurde im Windows-Befehlseditor ausgeführt. Der nächste Prozess bestand darin, die Standarddatenbanken (info. Schema, mysql und test) anzuzeigen, die mit "SHOW DATABASES;"

Dem Buch zufolge mussten wir die redundante Testdatei jedoch löschen und der folgende Fehler wird angezeigt: 

Fehler beim Löschen der Datenbank (Kann '.test \', Fehlernummer: 17 nicht rmdir)

Der zu verwendende Befehl war DROP DATABASE test;

Ich benutze MYSQL und PHPMYADMIN. Irgendwelche Hilfe, wie man die Datei ohne Fehler ablegt? 

105
Sid

Eine Datenbank wird durch ein Verzeichnis unter dem Datenverzeichnis dargestellt, und das Verzeichnis ist für die Speicherung von Tabellendaten vorgesehen.

Die DROP DATABASE-Anweisung entfernt alle Tabellendateien und entfernt dann das Verzeichnis, in dem sich die Datenbank befindet. Nicht-Tabellendateien werden jedoch nicht entfernt, wodurch das Verzeichnis nicht entfernt werden kann. 

MySQL zeigt eine Fehlermeldung an, wenn das Verzeichnis nicht entfernt werden kann

sie können die Datenbank wirklich manuell löschen, indem Sie alle verbleibenden Dateien im Datenbankverzeichnis und dann das Verzeichnis selbst entfernen.

142
Shakti Singh

Bei einer Neuinstallation von mysql 5.5 auf einem Mac bin ich auf dasselbe Problem gestoßen. Ich habe versucht, das Testschema zu löschen und erhielt eine errno 17-Nachricht. errno 17 ist der Fehler, der von einigen Posix-os-Funktionen zurückgegeben wird. Im Datenverzeichnis fand ich eine seltsame Datei ".empty":

sh-3.2# ls -la data/test
total 0
drwxr-xr-x   3 _mysql  wheel  102 Apr 15 12:36 .
drwxr-xr-x  11 _mysql  wheel  374 Apr 15 12:28 ..
-rw-r--r--   1 _mysql  wheel    0 Mar 31 10:19 .empty

Nachdem ich die leere Datei rm'd hatte, war der Befehl zum Ablegen der Datenbank erfolgreich. 

Ich weiß nicht, woher die leere Datei stammt. Wie bereits erwähnt, war dies eine neue Installation von MySQL. Vielleicht ist beim Installationsvorgang etwas schiefgelaufen.

37
Beel

Wechseln Sie zu dem Datadir für Ihre MySQL-Installation und führen Sie eine manuelle Aktualisierung der Datenbanken durch. Es kann sein 

/usr/local/var/mysql

Dann,

rm -R <Your DB name>

So überprüfen Sie das Datadir für Ihre Installation

vim the mysql.server file and find it there.
27
Nerve

Für phpmyadmin gehen Sie zu xampp\mysql\data und löschen einfach den Datenbankordner. Arbeitete für mich !!

Wenn es sich um XAMPP handelt, gehen Sie wie folgt vor:

cd /opt/lampp/var/mysql;
Sudo su;
rm -rf test;

Hoffe das hilft.

10

Ich bin gerade auf dieses Problem mit WAMP und dem damit verbundenen phpMyAdmin gestoßen. So entfernen Sie die Datenbank und lassen Sie den Fehler verschwinden. Ich ging in C:\wamp\bin\mysql\mysql5.5.24\data\ und löschte den Ordner für die betreffende Datenbank.

Dann habe ich die Seite bei phpMyAdmin aktualisiert und die Datenbank war weg.

7
J86

Gehen Sie dies durch und entfernen Sie die entsprechenden Cache-Dateien in der ausgewählten Datenbank, nachdem Sie Ihre Datenbank gelöscht haben

Suchen Sie zuerst Ihr MySQL-Datenverzeichnis mit der ausgewählten Datenbank

Linux

  • Öffnen Sie die Konfigurationsdatei von MySQL: less /etc/my.cnf
  • Suchen Sie nach dem Begriff "datadir":/datadir

  • Wenn es existiert, wird eine Zeile markiert, die lautet: datadir = [path]

  • Sie können diese Zeile auch manuell suchen. Es befindet sich normalerweise unter einer Abschnittsüberschrift von [mysqld], muss jedoch nicht unbedingt dort vorhanden sein.

  • Wenn diese Zeile nicht existiert, wird MySQL standardmäßig /var/lib/mysql. verwenden

Windows 1. Öffnen Sie die Konfigurationsdatei von MySQL in Notepad: my.ini

Die my.ini befindet sich im MySQL-Programmordner, der sich dort befindet, wo er installiert wurde. Wenn Sie MySQL nicht installiert haben, verwenden Sie die Windows-Suchfunktion, um nach my.ini zu suchen. Sie können auch manuell danach suchen, indem Sie zu [Laufwerk]:\Programme\MySQL\MySQL Server 5.5 navigieren.

  1. Suchen Sie im Editor nach dem Begriff "datadir".

  2. Wenn es existiert, wird eine Zeile markiert, die lautet: datadir = [path]

  3. Sie können diese Zeile auch manuell suchen. Es befindet sich normalerweise unter einer Abschnittsüberschrift von [mysqld], muss jedoch nicht unbedingt dort vorhanden sein.

  4. Wenn diese Zeile nicht existiert, finden Sie sie wahrscheinlich unter [Laufwerk]:\ProgramData\MySQL\MySQL Server 5.5\data.

HINWEIS: Der Ordner "ProgramData" ist möglicherweise ausgeblendet. Möglicherweise müssen Sie den expliziten Pfad in Windows Explorer eingeben

1
Mewan

Um nur die bisherigen Antworten hinzuzufügen: In Windows 10 werden die Dateien hier aufbewahrt ...

C:\ProgramData\MySQL\MySQL Server [m.n]\data

Für jedes Schema in Ihrer Datenbank gibt es Verzeichnisse. Sie möchten in das Schema, das Sie löschen möchten, gehen, manuell alle überflüssigen Dateien löschen und dann den Befehl drop erneut ausführen.

Alle Workbench-Änderungen an einer Datenbank werden an diesem Ort gespeichert. Ich hatte zum Beispiel diesen Fehler, nachdem ich eine Reverse-Engineering-Übung in einer meiner Datenbanken durchgeführt und die Änderungen gespeichert hatte, die in einer .mwb-Datei an diesem Ort gespeichert wurden.

1
IqbalHamid

Sie können die Daten im SQL-Verzeichnis löschen.

Für mich benutzte ich AMPPS unter Windows 10. Ich ging in das AMPPs-Installationsverzeichnis .. Für mich war es:

D:\Program Files (x86)\Ampps\mysql\data

weil ich es auf meinem sekundären Laufwerk installiert habe.

Aktualisieren Sie dann Ihren SQL-Client und Sie werden sehen, dass er verschwunden ist.

0
moeiscool

Ich hatte das gleiche Problem (Mysql 5.6 auf Mac) mit Fehlern beim 'rmdir ..' - Fehler beim Löschen von Datenbanken. Das Löschen eines leeren Datenbankverzeichnisses ist nicht möglich. Danke @Framework und @Beel für die Lösungen. 

Ich habe das db-Verzeichnis zuerst im Terminal (/ Applications/XAMPP/xamppfiles/var/mysql) gelöscht.

Für weitere Db-Abstriche habe ich auch die leere Testdatei gelöscht. In meinem Fall hieß die Datei NOTEMPTY, enthielt aber immer noch 0: 

Sudo ls -al test
total 0
drwxrwx---   3 _mysql  _mysql  102 Mar 26 16:50 .
drwxrwxr-x  18 _mysql  _mysql  612 Apr  7 13:34 ..
-rw-rw----   1 _mysql  _mysql    0 Jun 26  2013 NOTEMPTY

Chmod zuerst und dann 

Sudo rm -rf test/NOTEMPTY

Keine Probleme beim Ablegen von Datenbanken

0
user3857472

In meinem Fall habe ich unter phpMyAdmin keine Tabellen in meiner Datenbank gesehen. Ich verwende Wamp server, aber als ich das Verzeichnis unter C:\wamp\bin\mysql\mysql5.6.12\data überprüfte, fand ich diesen employed.ibd. Als ich diese Datei manuell löschte, konnte ich drop die Datenbank problemlos von phpMyAdmin abrufen . 

0
Yousef Altaf

Möglicherweise müssen Sie zwei Dinge überprüfen.

1- Berechtigung des Datenbankordners Die Datenbank, die Sie löschen möchten, muss den gleichen Eigentümer wie der mysql-Prozess haben.

2- Directory Muss leer sein Wechseln Sie in das MySQL-Datenverzeichnis und stellen Sie sicher, dass das Verzeichnis leer ist

Verbinden Sie danach Ihr mysql cli und führen Sie den Befehl drop database erneut aus.

0
Mansur Ali

gehen Sie einfach zum Datenverzeichnis in meinem Fallpfad: "wamp\bin\mysql\mysql5.6.17\data". Hier werden alle Datenbankordner angezeigt. Löschen Sie einfach Ihren Datenbankordner. 

0
sms247

In meinem Fall war das Problem eine Restabbilddatei im Datenbankverzeichnis. Diese Datei wurde wahrscheinlich während eines Sicherungsskripttests generiert, an dem ich gearbeitet hatte .. Nachdem ich die Datei manuell gelöscht hatte, konnte ich die Datenbank löschen.

0
Ranieri Machado