Grundsätzlich wurde mir beigebracht, wie man mit dem Befehl "mysqladmin -u root -p password" ein Root-Passwort erstellt. Dies geschah alles über den Windows-Befehlseditor. Der nächste Prozess bestand nun darin, die Standarddatenbanken (Info-Schema, MySQL und Test) anzuzeigen, die mit "SHOW DATABASES" erreicht wurden.
Laut dem Buch mussten wir jedoch die redundante Testdatei löschen und der folgende Fehler wird angezeigt:
Fehler beim Löschen der Datenbank (Kann '.test \' nicht rmdir, errno: 17)
Der verwendete Befehl war DROP DATABASE test;
Ich benutze MYSQL und PHPMYADMIN. Hilfe zum fehlerfreien Löschen der Datei?
mysql
sql
phpmyadmin
Sid
quelle
quelle
Antworten:
Eine Datenbank wird (normalerweise
/var/lib/mysql
) durch ein Verzeichnis unter dem Datenverzeichnis dargestellt , und das Verzeichnis dient zur Speicherung von Tabellendaten.Die
DROP DATABASE
Anweisung entfernt alle Tabellendateien und dann das Verzeichnis, das die Datenbank darstellt. Nicht-Tabellendateien werden jedoch nicht entfernt, wodurch das Entfernen des Verzeichnisses nicht möglich wird.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 im Verzeichnis selbst entfernen.
quelle
logout
und dannlogin
wieder, um die Datenbank verschwunden zu sehen.Ich bin auf dasselbe Problem bei einer Neuinstallation von MySQL 5.5 auf einem Mac gestoßen. Ich habe versucht, das Testschema zu löschen, und habe eine Fehlermeldung 17 erhalten. Fehler Nr. 17 ist der Fehler, der von einigen Posix-OS-Funktionen zurückgegeben wird und angibt, dass eine Datei dort vorhanden ist, wo sie nicht vorhanden sein sollte. Im Datenverzeichnis habe ich eine seltsame Datei ".empty" gefunden:
Nachdem ich die .empty-Datei erstellt hatte, war der Befehl zum Löschen der Datenbank erfolgreich.
Ich weiß nicht, woher die .empty-Datei stammt. Wie bereits erwähnt, war dies eine neue MySQL-Installation. Möglicherweise ist bei der Installation ein Fehler aufgetreten.
quelle
Gehen Sie zum Datenverzeichnis für Ihre MySQL-Installation und rm die Datenbanken manuell. Es kann sein
Dann,
Um den Datenverzeichnis für Ihre Installation zu überprüfen,
quelle
Für phpMyAdmin , gehen Sie zu xampp \ mysql \ data und einfach die Datenbank - Ordner löschen. Hat für mich gearbeitet !!
quelle
Wenn es sich um XAMPP handelt, gehen Sie wie folgt vor:
Hoffe das hilft.
quelle
Ich bin gerade auf dieses Problem mit WAMP und dem damit verbundenen phpMyAdmin gestoßen. Um die Datenbank zu entfernen und den Fehler zu beseitigen. ich ging in
C:\wamp\bin\mysql\mysql5.5.24\data\
den Ordner für die betreffende Datenbank und löschte ihn.Dann habe ich die Seite bei phpMyAdmin aktualisiert und die Datenbank war weg.
quelle
Nur um die bisherigen Antworten zu ergänzen: In Windows 10 werden die Datendateien hier gespeichert ...
C: \ ProgramData \ MySQL \ MySQL Server [mn] \ data
Für jedes Schema in Ihrer Datenbank gibt es Verzeichnisse. Sie sollten in das Schema gehen, das Sie löschen möchten, überflüssige Dateien manuell löschen und den Befehl drop erneut versuchen.
Alle Workbench-Änderungen an einer Datenbank werden an diesem Speicherort gespeichert. Zum Beispiel hatte ich diesen Fehler nach einer Reverse Engineering-Übung in einer meiner Datenbanken und dem Speichern der Änderungen, die in einer .mwb-Datei an diesem Speicherort gespeichert werden.
quelle
Sie können die Daten im SQL-Verzeichnis löschen.
Für mich habe ich AMPPS unter Windows 10 verwendet. Ich bin in das AMPP-Installationsverzeichnis gegangen. für mich war es:
weil ich es auf meinem sekundären Laufwerk installiert habe.
Aktualisieren Sie dann Ihren SQL-Client und Sie werden sehen, dass er weg ist.
quelle
Möglicherweise müssen Sie zwei Dinge überprüfen.
1- Erlaubnis des Datenbankordners Datenbankordners Die Datenbank, die Sie löschen muss denselben Eigentümer haben wie der MySQL-Prozess.
2- Verzeichnis muss leer sein Wechseln Sie zum MySQL-Datenverzeichnis und stellen Sie sicher , dass das Verzeichnis leer ist
Verbinden Sie danach Ihre MySQL-CLI und führen Sie den Befehl drop database erneut aus.
quelle
Gehen Sie dies durch und entfernen Sie die entsprechenden Cache-Dateien in der ausgewählten Datenbank, nachdem Sie Ihre Datenbank löschen können
Suchen Sie zuerst Ihr MySQL-Datenverzeichnis mit Ihrer ausgewählten Datenbank
Linux
Suchen Sie nach dem Begriff "datadir": / datadir
Wenn es existiert, wird eine Zeile hervorgehoben, die lautet: datadir = [Pfad]
Sie können diese Zeile auch manuell suchen. Es befindet sich normalerweise unter der Abschnittsüberschrift [mysqld], muss jedoch nicht unbedingt dort gefunden werden.
Wenn diese Zeile nicht vorhanden ist, lautet MySQL standardmäßig: / var / lib / mysql.
Windows 1. Öffnen Sie die Konfigurationsdatei von MySQL in Notepad: my.ini
Die my.ini befindet sich im MySQL-Programmordner, wo immer sie 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] navigieren: \ Programme \ MySQL \ MySQL Server 5.5.
Führen Sie eine Suche im Editor durch, um den Begriff "Datenverzeichnis" zu finden.
Wenn es existiert, wird eine Zeile hervorgehoben, die lautet: datadir = [Pfad]
Sie können diese Zeile auch manuell suchen. Es befindet sich normalerweise unter der Abschnittsüberschrift [mysqld], muss jedoch nicht unbedingt dort gefunden werden.
Wenn diese Zeile nicht vorhanden ist, 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 Explore eingeben
quelle
Der Befehl wählt den Wert nur aus der internen Datenbank information_schema von MySQL aus und deaktiviert die tabellarische Ausgabe und die Spaltenüberschriften.
Ausgabe unter Linux [mein Ergebnis]:
oder
auf MYSQL CLI
und dann
Ändern Sie den Pfad basierend auf Ihrem Ergebnis
quelle
In meinem Fall habe ich keine Tabellen unter meiner Datenbank gesehen, die
phpMyAdmin
ich verwende,Wamp server
aber als ich das Verzeichnis unter überprüfte,C:\wamp\bin\mysql\mysql5.6.12\data
fand ich dies,employed.ibd
als ich diese Datei manuell löschte, konnte ich problemlos aufdrop
die Datenbank zugreifenphpMyAdmin
.quelle
In meinem Fall war das Problem eine Restspeicherauszugsdatei im Datenbankverzeichnis. Diese Datei wurde wahrscheinlich während eines Backup-Skript-Tests generiert, an dem ich gearbeitet hatte. Sobald ich die Datei manuell gelöscht habe, konnte ich die Datenbank löschen.
quelle
Ich hatte das gleiche Problem (MySQL 5.6 auf Mac) mit "Kann nicht rmdir .." - Fehler beim Löschen von Datenbanken. Das Verlassen eines leeren Datenbankverzeichnisses kann nicht entfernt werden. Vielen Dank an @Framework und @Beel für die Lösungen.
Ich habe zuerst das Datenbankverzeichnis aus dem Terminal in (/ Applications / XAMPP / xamppfiles / var / mysql) gelöscht.
Für weitere Datenbank-Drops habe ich auch die leere Testdatei gelöscht. In meinem Fall hieß die Datei NOTEMPTY, enthielt aber immer noch 0:
Chmod zuerst und dann
Keine Probleme, Datenbanken danach zu löschen
quelle
Gehen Sie einfach in das Datenverzeichnis in meinem Fall. Der Pfad lautet "wamp \ bin \ mysql \ mysql5.6.17 \ data". Hier sehen Sie alle Datenbankordner. Löschen Sie einfach Ihren Datenbankordner. Die Datenbank wird automatisch gelöscht. :)
quelle
Ich bin auf dieses Problem gestoßen, und als ich das Datenbankverzeichnis ausgecheckt habe, gab es eine Reihe von
exp
Dateien (dieibd
undfrm
-Dateien wurden entfernt). Auflisten der Dateien, um ihre Attribute zu überprüfen (da der Eigentümer bereits über RW-Berechtigungen für die Dateien verfügte)Manpage sagt
Sie können
chattr -e
diese Dateien tatsächlich , aber mit MySQL können Sie die Datenbank trotzdem nicht löschen. Durch das Entfernen der Dateien mitrm
kann die Datenbank jedoch sauber gelöscht werden.quelle
Dies liegt daran, dass Sie möglicherweise den Datenbankordner des Ordners / var / lib / mysql von einem anderen Server auf Ihren Server kopiert haben. Sie haben diese Dateien jedoch nicht kopiert: / var / lib / mysql / ib_buffer_pool / var / lib / mysql / ibdata1 / var / lib / mysql / ib_logfile0 / var / lib / mysql / ib_logfile1 / var / lib / mysql / ibtmp1 So. Sie können eine neue Datenbank und Tabellen erstellen, die Sie löschen können. Sie können jedoch nicht die Datenbanken löschen, die Sie von einem anderen Server kopiert haben, und Sie können auch nicht dieselbe Datenbank untersuchen, die Sie von einem anderen Server kopiert haben. Also habe ich auch diese Dateien kopiert: ib_buffer_pool, ibdata1, ib_logfile0, ib_logfile1, ibtmp1 danach hat alles funktioniert.
quelle