在 MySQL 中删除数据库时出错(不能 rmdir '.\oro',errno: 41)
Posted
技术标签:
【中文标题】在 MySQL 中删除数据库时出错(不能 rmdir \'.\\oro\',errno: 41)【英文标题】:Error in dropping a database in MySQL (can't rmdir '.\oro', errno: 41)在 MySQL 中删除数据库时出错(不能 rmdir '.\oro',errno: 41) 【发布时间】:2013-07-30 14:43:28 【问题描述】:我无法从 mysql 中删除数据库。错误是这样的
ERROR 1010 (HY000): Error dropping database (can't rmdir '.\oro', errno: 41)
我尝试使用 phpmyadmin 删除数据库“oro”,它也显示相同的错误消息和警报
"DROP DATABASE" statements are disabled.
【问题讨论】:
请参考这个。***.com/questions/2046681/how-to-drop-database 您是否有权访问实际的数据库文件夹? 谢谢@KayNelson 我尝试访问数据库文件夹 C:\wamp\bin\mysql\mysql5.5.24\data 并删除了数据库文件夹“oro”。但这是正确的方法吗? 不正确的方法当然是使用语句drop。但是,如果你可以关闭mysql服务,然后将文件夹移动到另一个地方,然后重新启动mysql服务。如果它再次上线,您可以检查错误日志文件是否表明它缺少数据库。如果它不起作用,只需将其移回并重新启动服务。 你看这个问题了吗? ***.com/questions/4410630/… 【参考方案1】:-
转到
C:\wampXY\bin\mysql\mysqlx.y.z\data
(XY..参考版本)
将要删除的文件重命名为其他任何名称。(仅在特殊情况下可选)
现在只需删除重命名的文件。
【讨论】:
【参考方案2】:如果您使用 XAMPP,请转到 C:/xampp/mysql/data/YourDBFolder
删除该文件夹后,一切都会好起来的。
【讨论】:
【参考方案3】:我意识到我真的迟到了,但是当我遇到这个问题时(并最终来到这里),我导航到目录,实际上发现一个文件通过 INTO OUTFILE 无意中在目录中创建了一个没有路径的文件,我忘记了。 MySQL 似乎有问题,因为它没有创建文件,因此无法删除有问题的目录。
【讨论】:
【参考方案4】:Mysql为任意表生成两个文件
-
.frm
.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 文件是这样的吗?以上是关于在 MySQL 中删除数据库时出错(不能 rmdir '.\oro',errno: 41)的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL 中删除数据库时出错(不能 rmdir './tract',errno: 66)