Ошибка удаления базы данных (не может rmdir '.test \', errno: 17)

В основном меня учили, как создавать пароль root с помощью команды "mysqladmin -u root -p password", это было сделано через редактор команд Windows. Теперь следующим процессом было отображение баз данных по умолчанию (info. Schema, mysql и test), что было достигнуто с помощью "SHOW DATABASES;"

Но согласно книге нам пришлось удалить лишний тестовый файл, и всплыла следующая ошибка:

Ошибка удаления базы данных (невозможно rmdir '.test \', номер ошибки: 17)

Командой, которую нужно использовать, был DROP DATABASE test;

Я использую MYSQL и PHPMYADMIN. Любая помощь о том, как сбросить файл без ошибок?

Ответ 1

База данных представлена каталогом в каталоге данных (обычно это /var/lib/mysql), а каталог предназначен для хранения табличных данных.

Оператор DROP DATABASE удалит все файлы таблиц, а затем удалит каталог, представляющий базу данных. Однако он не удалит не относящиеся к таблице файлы, в результате чего не удастся удалить каталог.

MySQL отображает сообщение об ошибке, когда не может удалить каталог

Вы действительно можете вручную удалить базу данных, удалив все оставшиеся файлы в каталоге базы данных, а затем и сам каталог.

Ответ 2

Я столкнулся с этой же проблемой при новой установке mysql 5.5 на mac. Я попытался сбросить тестовую схему и получил сообщение errno 17. errno 17 - это ошибка, возвращаемая некоторыми функциями posix os, указывающими, что файл существует там, где он не должен. В каталоге данных я нашел странный файл ".пусто":

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

Как только я запустил файл с пустым файлом, команда базы данных drop удалась.

Я не знаю, откуда пришел пустой файл; как уже отмечалось, это была новая установка mysql. Возможно, что-то пошло не так в процессе установки.

Ответ 3

Перейдите в datadir для вашей установки mysql и вручную создайте базы данных. Это может быть

/usr/local/var/mysql

Затем

rm -R <Your DB name>

Чтобы проверить datadir для вашей установки,

vim the mysql.server file and find it there.

Ответ 4

Для phpmyadmin перейдите в xampp\mysql\data​​strong > и просто удалите папку базы данных. Работал для меня.

Ответ 5

Если это XAMPP, выполните следующие действия:

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

Надеюсь, что это поможет.

Ответ 6

Я просто столкнулся с этой проблемой с WAMP и phpMyAdmin, которые идут с ней. Чтобы удалить базу данных и устранить ошибку. Я вошел в C:\wamp\bin\mysql\mysql5.5.24\data\ и удалил папку для соответствующей базы данных.

Затем я обновил страницу на phpMyAdmin, и база данных исчезла.

Ответ 7

Просто добавьте ответы до сих пор: в Windows 10 файлы данных хранятся здесь...

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

В каждой базе данных будут каталоги для каждой схемы. Вы захотите войти в схему, которую вы пытаетесь удалить, вручную удалить лишние файлы, а затем попробовать команду drop.

Любые изменения инструментальных средств в базе данных будут сохранены в этом месте. Например, у меня была эта ошибка после обратного инженерного упражнения в одной из моих баз данных и сохранения изменений, которые сохраняются в файле .mwb в этом месте.

Ответ 8

Пройдите через это и удалите соответствующие файлы кэша в выбранной БД, после чего вы можете удалить свою базу данных.

Сначала найдите каталог данных MySQL, содержащий выбранную вами базу данных

Linux

  • Откройте конфигурационный файл MySQL: less/etc/my.cnf
  • Поиск по термину "датадир": /datadir

  • Если он существует, он выделит строку с текстом: datadir = [путь]

  • Вы также можете вручную искать эту строку. Обычно его можно найти под заголовком раздела [mysqld], но его не обязательно искать там.

  • Если эта строка не существует, MySQL по умолчанию будет: /var/lib/mysql.

Windows 1. Откройте файл конфигурации MySQL в блокноте: my.ini

My.ini будет находиться в папке с программой MySQL, где бы он ни был установлен. Если вы не установили MySQL, воспользуйтесь функцией поиска Windows для поиска my.ini. Вы также можете вручную найти его, перейдя в [диск]:\Program Files\MySQL\MySQL Server 5.5.

  1. Выполните поиск в Блокноте, чтобы найти термин "датадир".

  2. Если он существует, он выделит строку с текстом: datadir = [путь]

  3. Вы также можете вручную искать эту строку. Обычно его можно найти под заголовком раздела [mysqld], но его не обязательно искать там.

  4. Если эта строка не существует, вы, вероятно, найдете ее в [drive]:\ProgramData\MySQL\MySQL Server 5.5\data.

ПРИМЕЧАНИЕ. Папка "ProgramData" может быть скрыта. Возможно, вам придется ввести явный путь в Windows Explore

Ответ 9

В моем случае я не видел никаких таблиц в моей базе данных на phpMyAdmin Я использую Wamp server, но когда я проверил каталог под C:\wamp\bin\mysql\mysql5.6.12\data, я нашел этот employed.ibd, когда я удалил этот файл вручную, я был без проблем может drop получить базу данных phpMyAdmin без проблем.

Ответ 10

В моем случае проблема была остаточным файлом дампа в каталоге базы данных. Вероятно, этот файл был создан во время резервного копирования script, над которым я работал. Как только я вручную удалю файл, я мог бы удалить базу данных.

Ответ 11

У меня была та же проблема (mysql 5.6 на mac) с ошибками "can not rmdir.." - при удалении баз данных. Невозможно избавиться от пустого каталога базы данных. Спасибо @Framework и @Beel за решения.

Сначала я удалил каталог db из терминала в (/Applications/XAMPP/xamppfiles/var/mysql).

Для дальнейшего удаления db я также удалил пустой тестовый файл. В моем случае файл был вызван NOTEMPTY, но все еще содержит 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 сначала, а затем

sudo rm -rf test/NOTEMPTY

Нет проблем с удалением баз данных после этого

Ответ 12

просто перейдите в каталог данных, в моем случае путь "wamp\bin\mysql\mysql5.6.17\data" здесь вы увидите, что все папки баз данных просто удаляют эту папку базы данных, db автоматически опустится:)

Ответ 13

Вы можете удалить данные в каталоге sql.

Для меня я использовал AMPPS на окнах 10. Я пошел в каталог установки AMPP. для меня это было:

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

потому что он установлен на моем вторичном диске.

Затем обновите свой SQL-клиент, и вы увидите, что оно исчезло.

Ответ 14

Вам может потребоваться проверить две вещи.

1- Резервное копирование базы данных База данных, которую вы хотите удалить, должна иметь того же владельца, что и процесс mysql.

2- Каталог должен быть пустым Перейти в каталог данных mysql и убедиться, что каталог пуст

После этого подключитесь к mysql cli и запустите команду базы данных drop снова.