【问题标题】:Error in dropping a database in MySQL (can't rmdir '.\oro', errno: 41)在 MySQL 中删除数据库时出错(不能 rmdir '.\oro',errno: 41)
【发布时间】:2026-01-18 09:55:01
【问题描述】:

我无法从 mysql 中删除数据库。错误是这样的

ERROR 1010 (HY000): Error dropping database (can't rmdir '.\oro', errno: 41)

我尝试使用 phpmyadmin 删除数据库“oro”,它也显示相同的错误消息和警报

"DROP DATABASE" statements are disabled.

【问题讨论】:

  • 您是否有权访问实际的数据库文件夹?
  • 谢谢@KayNelson 我尝试访问数据库文件夹 C:\wamp\bin\mysql\mysql5.5.24\data 并删除了数据库文件夹“oro”。但这是正确的方法吗?
  • 不正确的方法当然是使用语句drop。但是,如果你可以关闭mysql服务,然后将文件夹移动到另一个地方,然后重新启动mysql服务。如果它再次上线,您可以检查错误日志文件是否表明它缺少数据库。如果它不起作用,只需将其移回并重新启动服务。
  • 你看这个问题了吗? *.com/questions/4410630/…

标签: mysql phpmyadmin drop-database


【解决方案1】:
  1. 转到

    C:\wampXY\bin\mysql\mysqlx.y.z\data

(XY..参考版本)

  1. 将要删除的文件重命名为其他任何名称。(仅在特殊情况下可选)

  2. 现在只需删除重命名的文件。

【讨论】:

    【解决方案2】:

    如果您使用 XAMPP,请转到 C:/xampp/mysql/data/YourDBFolder

    删除该文件夹后,一切都会好起来的。

    【讨论】:

      【解决方案3】:

      我意识到我真的迟到了,但是当我遇到这个问题时(并最终来到这里),我导航到目录,实际上发现一个文件通过 INTO OUTFILE 无意中在目录中创建了一个没有路径的文件,我忘记了。 MySQL 似乎有问题,因为它没有创建文件,因此无法删除有问题的目录。

      【讨论】:

        【解决方案4】:

        Mysql为任意表生成两个文件

        1. .frm
        2. .ibd

        在您的目录中检查这两个文件是否必须存在,如果缺少任何一个,则删除剩余的一个,或者如果您希望可以删除所有文件,但要小心,我会从表中删除所有数据。

        这对我有用,我希望它也对你有用。

        【讨论】:

          【解决方案5】:

          就我而言,我通过导航到文件夹解决了问题:

          C:\wamp\bin\mysql\mysql5.6.12\data
          

          并删除我试图删除的数据库文件夹。就是这样。

          【讨论】:

          • 删除数据文件夹内的db文件夹是正确的解决方案。从备份文件中恢复,您就可以重新开始工作了。
          • 如果是linux呢?
          【解决方案6】:

          尝试更改 phpmyadmin 配置文件中的值,

          $cfg['AllowUserDropDatabase']   = TRUE;
          

          【讨论】:

            【解决方案7】:

            出现你得到的 ERROR 1010 当你创建一个数据库时,会为你创建一个文件。这意味着“创建数据库 foo”将在您的数据目录中创建一个目录 foo。 foo 的所有表定义/数据都在 foo 目录中。所有这些表都是在服务器中创建的,它们对应的文件是由服务器创建的。如果由于某种原因,在这个目录中创建或放置了一个不是 MySQL 生成的文件,那么当你删除 foo 时,服务器将发出错误 1010。

            如果您尝试使用 phpmyadmin 删除数据库,请参阅 phpmyadmin enable drop database statement

            希望这可以帮助您理解错误。

            【讨论】:

            • 谢谢@Himanil 您提到可以在数据库目录中找到不是由 MySQL 生成的不需要的文件。那些不需要的文件是哪些? .empty 文件是这样的吗?