关于MySQL删除数据库失败的问题

由于某些原因需要删除mysql数据库中的fafa数据库,但该数据库无法删除,错误提示如下:

mysql> drop database fafa;
ERROR 1010 (HY000): Error dropping database (can't rmdir './fafa/', errno: 17)

根据提示,无法删除数据库的原因是无法删除fafa目录,这里我在data目录下找到了错误提示中的fafa目录。

root@BJPHP1:/# find /data/ -name "fafa"
/data/mysql/fafa
/data/mysql1/fafa
/data/var/lib/mysql/fafa
/data/backup/fafa
/data/backup/fafa/2013-10-18_22-28-24/fafa
/data/backup/fafa/2014-04-17/fafa

进入fafa目录下,将该目录下的原有文件备份。最后清空fafa目录,如下所示

root@BJPHP1:/data/var/lib/mysql# cd fafa/
root@BJPHP1:/data/var/lib/mysql/fafa# ls -al
total 595584
drwxr-xr-x  2 root  root       4096 Mar  8 06:59 .
drwx------ 16 mysql mysql     36864 Mar 26 06:25 ..
-rw-r--r--  1 root  root  609826885 Apr 17  2014 message.tgz
root@BJPHP1:/data/var/lib/mysql/fafa# mv message.tgz  /home/SmallQ/

此处我观察到该目录的属主属组均为root,不确定是否有影响,因为我将fafa目录的属主属组均改为mysql。

root@BJPHP1:/data/var/lib/mysql/fafa# chown  -R mysql.mysql fafa
并将fafa目录的权限改为755
root@BJPHP1:/data/var/lib/mysql/fafa# chmod -R 755 fafa

此时,我可以正常删除mysql数据库中的fafa数据库了。

mysql> drop database fafa;
Query OK, 0 rows affected (0.00 sec)

你可能感兴趣的:(mysql)