2010-01-12 10 views
18

i utilizó la siguiente sytanxcómo abandonar la base de datos

drop database filmo; 

y tiene el siguiente error:

ERROR 1010 (HY000): Error dropping database (can't rmdir './filmo/', errno: 17) 

cualquier idea ..

+0

¿Cuál es el motor de base de datos que está utilizando? No está claro de tu pregunta. – gyurisc

+0

AskAboutGadgets.com: mira las etiquetas. – tanerkuc

+0

@enbuyukfener: ver el historial de edición. – Jon

Respuesta

23

esto significa que hay archivos en ese directorio no relacionados a MySQL. Otro problema, aunque lo dudo, es permisos insuficientes. Puede eliminar ese directorio del sistema de archivos.

+1

Tuve el mismo error - y efectivamente había un archivo en ese directorio - después de eliminarlo, la eliminación funcionó. – zby

0

¿tiene permiso de escritura en ese directorio (y el principal)? es posible que deba recursivamente hacer que el directorio sea editable (pestaña de seguridad en Windows o chmod en nix) y eliminar cualquier archivo que no sea de db, como "Thumbs.db"

11

Se produjo el mismo error. Esto lo fijó para mí en Ubuntu 10.04:

stop mysql

rm -rf /var/lib/mysql/XXXXX

start mysql

donde xxxxx es el nombre de la base infractor.

+0

Funcionó para mí en un MAC ... mysql> drop database DB_NAME; ERROR 1010 (HY000): error al eliminar la base de datos (no puede rmdir './DB_NAME', errno: 66) 1) cuál mysql ->/usr/local/mysql/bin/mysql 2) Ir a la carpeta DB: cd/usr/local/mysql/data/ 3) Eliminar la carpeta DB de DB con problema (en este caso: "DB_NAME"). – xgMz

+0

Es exactamente el datadir para su instalación de mysql donde encontrará el directorio XXXXX. – Nerve

+0

Funcionó para mí en Ubuntu 12.04/MySQL 5.5.38 – DanH

1

He cambiado los permisos en la carpeta mysql (servidor de Windows c:\xampp\mysql) y estoy trabajando ahora, he creado y eliminado bases de datos sin ningún error.

7

sudo rm -rf/var/lib/mysql/db_production

donde db_production es el nombre de la base de datos

recuerde utilizar "sudo".

0

Tuve este problema y parece ser acerca de los permisos de usuario de mysql. trata de hacerlo por el usuario root si lo hizo el trabajo utilizar este comando como root para el permiso caída de gran a su usuario:

grant drop 
execute on *.* to 'your-user-name'@'user-ip'; 
1

Esto es lo que hago en Mac OS X Mavericks:

  1. Detener la servicio MySQL
  2. Retire el directorio en /usr/local/mysql/data
1

1) rm -rf /var/lib/mysql/data/*** mantener el directorio de datos, RM los contenidos de los datos/

2) utilizan

mysql -uxxx -pyyy 
    $ drop database data; 

continuación que estaría bien para volver a crear la base de datos de datos de nuevo. es de esperar que ayude, Atención, dir directo de eliminación de datos es inútil, lo que reinicie mysqld o no.

-2
drop database <database_name>; 
0

Aquí es una forma de simular el error

1.Create un directorio en el directorio de datos de MySQL

mkdir /data/mysql/data/filmo 

2.check el último elemento

[[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. crear un archivo de volcado en él

[[email protected]]# mysqldump -uroot -p123456 -B mysql>/data/mysql/data/filmo/dump_file.sql 

4.MySQL se cree filmo es una base de datos

[[email protected]]# mysql -uroot -p123456 -e"show databases;" 

+--------------------+ 
| Database   | 
+--------------------+ 
| information_schema | 
| backup    | 
| filmo    | 
| mysql    | 
| performance_schema | 
+--------------------+ 

5.when dejo caer esta "base de datos", aquí está su error

[[email protected]]# mysql -uroot -p123456 -e"drop database filmo;" 
ERROR 1010 (HY000) at line 1: Error dropping database (can't rmdir './filmo/', errno: 17) 
0

Ese error lo general viene cuando se tiene mal TABLESPACE en el archivo ibdata1 (que es para el motor innodb) innodb engine store algunas configuraciones dentro del archivo ibdata1

si ha copiado/movido sus archivos recientemente a otro servidor o intentado restaurar, debe mover el archivo ibdata1 y luego puede eliminar el archivo db. Supongo que tienes problemas como que la tabla no existe y ahora borras db? En caso afirmativo, detenga el servicio de mysql, luego borre los archivos y luego vuelva a crear db, eso lo ayudará. Además aquí esto podría ayudarle a [Error Dropping Database (Can't rmdir '.test\', errno: 17)

0

No está seguro de dónde saqué esta respuesta de (disculpas) pero, aunque similar a la anterior, tiene la información adicional de cómo encontrar el directorio de datos de MySQL:

mysql -e "select @@datadir"

Esto, supongo, es genérico y devuelve la ruta a mysql/data. Si se traslada a ese directorio (/ Linux/comandos UNIX macOS):

cd path_to_mysql/data

se encuentra la base de datos que desea eliminar, que en nix se puede hacer por:

sudo rm -rf DB_NAME

en MacOS X (10.9.5) Hice no tengo que detener MySQL, pero esto puede diferir en otras plataformas.

Cuestiones relacionadas