在 Ubuntu 上的 MySQL 5.1 中删除数据库时出错

在 Ubuntu 上的 MySQL 5.1 中删除数据库时出错

我在用MySQL v5.1乌班图机器。

我有一个名为 my_db 的数据库,我想删除它,所以我执行命令:

mysql> drop database my_db;

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

正如你在上面看到的,有一个错误......为什么我不能删除数据库?

聚苯乙烯我知道所有与数据库相关的文件都位于/var/lib/mysql/my_db/

答案1

一个快速测试程序显示errno = 17“文件存在”(只是一个观察,我并不希望您在发布之前弄清楚它)。

我发现这个线程在 mysql 站点上,这表明您有/var/lib/mysql/my_db/mysql 未创建(或它认为未创建)的文件。列出文件(您需要sudo)并查看其中有什么。尝试将其中的任何内容移至临时目录(如果您确实确定不需要它们,则删除它们),然后重试。

答案2

检查所有者和权限,/var/lib/mysql/my_db我立即想到的是运行 mysql 守护程序的用户帐户没有删除该文件夹的适当权限。

您可以杀死mysqld并以 root 身份启动它,然后尝试删除数据库进行测试。

答案3

据我所知,您必须检查以下内容:

  1. 检查目录以查看是否有任何与数据库无关的不必要文件。因为DROP database只删除数据库文件,然后删除目录,并且由于您可能还有与数据库文件无关的其他文件,所以它不会删除它们,因此无法删除目录。
  2. 如果这不起作用,请尝试使用 删除数据库PHPMYADMIN,大多数情况下它都可以使用。

检查这些:

相关内容