я использовал следующий ситанкс
drop database filmo;
и получил следующую ошибку:
ERROR 1010 (HY000): Error dropping database (can't rmdir './filmo/', errno: 17)
любые идеи..
я использовал следующий ситанкс
drop database filmo;
и получил следующую ошибку:
ERROR 1010 (HY000): Error dropping database (can't rmdir './filmo/', errno: 17)
любые идеи..
Это означает, что в этом каталоге есть файлы, не относящиеся к MySQL. Другая проблема, хотя я сомневаюсь, - это недостаточные разрешения. Вы можете удалить этот каталог из файловой системы.
Получена такая же ошибка. Это исправлено для меня в Ubuntu 10.04:
stop mysql
rm -rf /var/lib/mysql/XXXXX
start mysql
Где XXXXX - это имя базы данных оскорбителя.
sudo rm -rf/var/lib/mysql/db_production
где db_production - это имя базы данных
Не забудьте использовать "sudo".
Я изменил права на папку mysql (windows server c:\xampp\mysql
) и сейчас работает, я создал и удалил базы данных без каких-либо ошибок.
Это то, что я делаю в Mac OS X Mavericks:
/usr/local/mysql/data
1) rm -rf /var/lib/mysql/data/***
сохранить данные dir, rm - содержимое данных /
2) используйте
mysql -uxxx -pyyy
$ drop database data;
затем , было бы хорошо воссоздать базу данных снова. надеюсь, это поможет, Внимание, прямой удалить данные dir бесполезно, независимо от того, что вы перезапускаете mysqld или нет.
У вас есть разрешение на запись в этом каталоге (и родительском)? вам может потребоваться рекурсивно сделать каталог доступным для записи (вкладка безопасности в Windows или chmod в nix) и удалить любые не-db файлы, такие как "Thumbs.db"
У меня была эта проблема, и, похоже, это касается ваших прав пользователя mysql. попробуйте сделать это от пользователя root, если он действительно работает, используйте эту команду с правами root для прав доступа к вашему пользователю:
grant drop
execute on *.* to 'your-user-name'@'user-ip';
Вот способ моделирования вашей ошибки
1.создайте каталог в каталоге данных MySQL
mkdir /data/mysql/data/filmo
2. выберите последний элемент
[[email protected]]# 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. создать файл дампа в нем
[[email protected]]# mysqldump -uroot -p123456 -B mysql>/data/mysql/data/filmo/dump_file.sql
4.MySQL будет считать, что filmo - это база данных
[[email protected]]# mysql -uroot -p123456 -e"show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| backup |
| filmo |
| mysql |
| performance_schema |
+--------------------+
5. Когда я отбрасываю эту "базу данных", вот ваша ошибка
[[email protected]]# mysql -uroot -p123456 -e"drop database filmo;"
ERROR 1010 (HY000) at line 1: Error dropping database (can't rmdir './filmo/', errno: 17)
Эта ошибка обычно возникает, когда у вас неправильная TABLESPACE в файле ibdata1 (что для двигателя innodb) innodb engine сохраняет некоторые настройки внутри файла ibdata1
Если вы недавно скопировали/перенесили файлы на другой сервер или попытались восстановить, вам следует переместить файл ibdata1, а затем удалить db. Я предполагаю, что у вас проблема, поскольку таблица не существует и теперь удаляет db? если да, то остановите службу mysql, затем удалите файлы, а затем снова создайте db, что вам поможет. Дальше здесь это может помочь вам [Ошибка удаления базы данных (не может rmdir '.test \', errno: 17)
Не уверен, откуда я получил этот ответ (извинения), но, хотя он аналогичен приведенному выше, он имеет дополнительную информацию о том, как найти каталог данных mysql:
mysql -e "select @@datadir"
Это, я полагаю, является общим и возвращает путь к mysql/data. Если вы перейдете в этот каталог (команда unix/linux/macOS):
cd path_to_mysql/datap >
вы найдете базу данных, которую хотите удалить, которая по nix может быть выполнена:
sudo rm -rf DB_NAME
В MacOS X (10.9.5) мне не нужно было останавливать MySQL, но это может различаться на других платформах.
drop database <database_name>;