Zasadniczo nauczono mnie, jak utworzyć hasło roota za pomocą polecenia „mysqladmin -u root -p hasło”, wszystko to odbywało się za pomocą edytora poleceń systemu Windows. Teraz następnym procesem było wyświetlenie domyślnych baz danych (info. Schema, mysql i test), co zostało osiągnięte poprzez użycie "SHOW DATABASES;"
Ale zgodnie z książką musieliśmy usunąć zbędny plik testowy i wyskakuje następujący błąd:
Błąd podczas usuwania bazy danych (Can't rmdir '.test \', errno: 17)
Użyto polecenia DROP DATABASE test;
Używam MYSQL i PHPMYADMIN. Jakaś pomoc, jak upuścić plik bez błędów?
mysql
sql
phpmyadmin
Sid
źródło
źródło
Odpowiedzi:
Baza danych jest reprezentowana przez katalog w katalogu danych (zwykle
/var/lib/mysql
), a katalog jest przeznaczony do przechowywania danych tabeli.DROP DATABASE
Oświadczenie spowoduje usunięcie wszystkich plików tabel, a następnie usunąć katalog, który reprezentowany bazy danych. Nie spowoduje to jednak usunięcia plików innych niż tabele, przez co nie będzie można usunąć katalogu.MySQL wyświetla komunikat o błędzie, gdy nie może usunąć katalogu
naprawdę możesz usunąć bazę danych ręcznie, usuwając wszelkie pozostałe pliki z katalogu bazy danych, a następnie sam katalog.
źródło
logout
a potemlogin
znowu, aby zobaczyć zniknięcie bazy danych.Napotkałem ten sam problem podczas nowej instalacji mysql 5.5 na komputerze Mac. Próbowałem porzucić schemat testowy i otrzymałem komunikat errno 17. errno 17 to błąd zwracany przez niektóre funkcje systemu POSIX wskazujący, że plik istnieje tam, gdzie nie powinien. W katalogu danych znalazłem dziwny plik „.empty”:
Po sprawdzeniu pliku .empty polecenie drop database zakończyło się powodzeniem.
Nie wiem, skąd pochodzi plik .empty; jak wspomniano, była to nowa instalacja mysql. Być może podczas instalacji coś poszło nie tak.
źródło
Przejdź do katalogu datadir dla swojej instalacji mysql i ręcznie rm bazy danych. To może być
Następnie,
Aby sprawdzić datadir dla swojej instalacji,
źródło
W przypadku phpmyadmin przejdź do xampp \ mysql \ data i po prostu usuń folder bazy danych. Pracował dla mnie !!
źródło
Jeśli to XAMPP, wykonaj następujące czynności:
Mam nadzieję że to pomoże.
źródło
Właśnie napotkałem ten problem z WAMP i phpMyAdmin, który jest z nim związany. Aby usunąć bazę danych i wyeliminować błąd. Wszedłem
C:\wamp\bin\mysql\mysql5.5.24\data\
i usunąłem folder dla danej bazy danych.Następnie odświeżyłem stronę w phpMyAdmin i baza danych zniknęła.
źródło
Aby dodać do dotychczasowych odpowiedzi: w systemie Windows 10 pliki danych są przechowywane tutaj ...
C: \ ProgramData \ MySQL \ MySQL Server [mn] \ data
W twojej bazie danych będą katalogi dla każdego schematu. Będziesz chciał wejść do schematu, który próbujesz upuścić, ręcznie usunąć zbędne pliki, a następnie ponownie spróbuj wykonać polecenie drop.
Wszelkie zmiany w środowisku roboczym w bazie danych zostaną zapisane w tej lokalizacji. Na przykład wystąpił ten błąd po wykonaniu ćwiczenia z inżynierii wstecznej w jednej z moich baz danych i zapisaniu zmian, które są przechowywane w pliku .mwb w tej lokalizacji.
źródło
Możesz usunąć dane w katalogu sql.
U mnie używałem AMPPS na Windows 10. Poszedłem do katalogu instalacyjnego AMPP. dla mnie to było:
ponieważ mam go zainstalowanego na moim drugim dysku.
Następnie odśwież swojego klienta SQL, a zobaczysz, że zniknął.
źródło
Konieczne może być sprawdzenie dwóch rzeczy.
1- Zezwolenie Database Foleder Baza danych, którą chcesz usunąć, musi mieć tego samego właściciela co proces mysql.
2- Katalog musi być pusty Przejdź do katalogu danych mysql i sprawdź, czy katalog jest pusty
Następnie podłącz swoje mysql cli i ponownie uruchom polecenie drop database.
źródło
Przejdź przez to i usuń odpowiednie pliki pamięci podręcznej w wybranej bazie danych, a następnie po upuszczeniu bazy danych
Najpierw znajdź katalog danych MySQL zawierający wybraną bazę danych
Linux
Wyszukaj termin „datadir”: / datadir
Jeśli istnieje, podświetli wiersz o treści: datadir = [ścieżka]
Możesz również ręcznie wyszukać tę linię. Zwykle znajduje się pod nagłówkiem sekcji [mysqld], ale niekoniecznie musi się tam znajdować.
Jeśli ta linia nie istnieje, MySQL ustawi domyślnie: / var / lib / mysql.
Windows 1. Otwórz plik konfiguracyjny MySQL w Notatniku: my.ini
Plik my.ini zostanie umieszczony w folderze programu MySQL, który będzie tam, gdzie został zainstalowany. Jeśli nie zainstalowałeś MySQL, użyj funkcji wyszukiwania systemu Windows, aby znaleźć my.ini. Możesz również wyszukać go ręcznie, przechodząc do [dysk]: \ Program Files \ MySQL \ MySQL Server 5.5.
Wyszukaj w Notatniku termin „datadir”.
Jeśli istnieje, podświetli wiersz o treści: datadir = [ścieżka]
Możesz również ręcznie wyszukać tę linię. Zwykle znajduje się pod nagłówkiem sekcji [mysqld], ale niekoniecznie musi się tam znajdować.
Jeśli ta linia nie istnieje, prawdopodobnie znajdziesz ją w [dysk]: \ ProgramData \ MySQL \ MySQL Server 5.5 \ data.
UWAGA: folder „ProgramData” może być ukryty. Może być konieczne wpisanie jawnej ścieżki do Eksploratora Windows
źródło
Polecenie wybierze wartość tylko z wewnętrznej bazy danych information_schema MySQL i wyłącza tabelaryczne dane wyjściowe i nagłówki kolumn.
Dane wyjściowe w systemie Linux [mój wynik]:
lub
na MYSQL CLI
i wtedy
zmień ścieżkę na podstawie wyniku
źródło
W moim przypadku nie widziałem żadnych tabel pod moją bazą danych na
phpMyAdmin
której używam,Wamp server
ale kiedy sprawdziłem katalog pod nimC:\wamp\bin\mysql\mysql5.6.12\data
, znalazłem to,employed.ibd
kiedy ręcznie usunąłem ten plik, mogłem płynnie przejśćdrop
do bazy danychphpMyAdmin
bez żadnych problemów.źródło
W moim przypadku problemem był szczątkowy plik zrzutu w katalogu bazy danych. Ten plik został prawdopodobnie wygenerowany podczas testu skryptu kopii zapasowej, nad którym pracowałem. Po ręcznym usunięciu pliku mogłem usunąć bazę danych.
źródło
Miałem ten sam problem (mysql 5.6 na Macu) z błędami „Can't rmdir ..” - podczas usuwania baz danych. Opuszczenia pustego katalogu bazy danych nie można się pozbyć. Dzięki @Framework i @Beel za rozwiązania.
Najpierw usunąłem katalog db z terminala w (/ Applications / XAMPP / xamppfiles / var / mysql).
W przypadku dalszych spadków db usunąłem również pusty plik testowy. W moim przypadku plik nazywał się NOTEMPTY, ale nadal zawierał 0:
Chmod najpierw, a potem
Po tym nie ma problemów z usuwaniem baz danych
źródło
po prostu przejdź do katalogu danych w moim przypadku ścieżka to "wamp \ bin \ mysql \ mysql5.6.17 \ data", tutaj zobaczysz wszystkie foldery baz danych, po prostu usuń ten folder bazy danych, który zostanie automatycznie opuszczony :)
źródło
Napotkałem ten problem i kiedy sprawdziłem katalog bazy danych, było tam kilka
exp
plików ( plikiibd
ifrm
zostały usunięte). Lista plików w celu sprawdzenia ich atrybutów (ponieważ właściciel miał już uprawnienia rw do plików)Strona podręcznika mówi
Właściwie możesz
chattr -e
te pliki, ale mysql nadal nie pozwoli ci upuścić bazy danych. Usunięcie plików za pomocąrm
umożliwia jednak czyste upuszczenie bazy danych.źródło
Dzieje się tak, ponieważ mogłeś skopiować folder bazy danych folderu / var / lib / mysql z innego serwera na swój serwer. Ale nie skopiowałeś tych plików: / var / lib / mysql / ib_buffer_pool / var / lib / mysql / ibdata1 / var / lib / mysql / ib_logfile0 / var / lib / mysql / ib_logfile1 / var / lib / mysql / ibtmp1 Więc możesz utworzyć nową bazę danych i tabele, możesz je usunąć, ale nie możesz usunąć baz danych skopiowanych z innego serwera, a także nie możesz eksplorować tej samej bazy danych, którą skopiowałeś z innego serwera. Więc skopiowałem również te pliki: ib_buffer_pool, ibdata1, ib_logfile0, ib_logfile1, ibtmp1, potem wszystko działało.
źródło