尝试在 MySQL 中删除数据库时
'DROP DATABASE IF EXISTS temporarydata'
我收到以下错误
Error Code: 1010. Error dropping database (can't rmdir '.\temporarydata', errno: 13)
我对此进行了研究,我认为这可能是一个权限问题,但是我发现的所有修复程序都是针对 linux 计算机的。有谁知道如何在 Windows 7 中解决这个问题?
错误 13
MySQL对文件夹所在的父目录没有写权限。temporarydata
检查一下
数据库由数据目录下的目录表示,该目录用于存储表数据。
该DROP DATABASE
语句将删除所有表文件,然后删除代表数据库的目录。但是,它不会删除非表文件,从而无法删除目录。
MySQL 无法删除目录时会显示错误消息,您可以通过删除数据库目录中的任何剩余文件,然后删除目录本身来真正手动删除数据库。
我知道自创建此线程以来已超过 1 年,但我认为我应该与您分享我在此问题上的经验以及我所做的解决方案。请注意,它适用于在 Windows 7 中使用 MySQL Workbench 的用户。
- 转到目录 C:\ProgramData\MySQL\MySQL Server 5.6\data (在某些情况下,如果您看不到 ProgramData 文件夹,请先使用文件夹和搜索选项取消隐藏它。)
- 您可以在其中看到该数据库的文件夹(例如temporarydata)。
- 删除那个文件夹。
重新运行您的 sql 脚本。
删除数据库临时数据;
希望这可以帮助。
如果你使用 wampserver 和 mariadb 你可以直接去这里删除你的数据库文件夹:
C:\wamp64\bin\mariadb\mariadb10.2.8\data
我遇到了同样的问题。我在下面描述我的解决方案:
mysql> DROP DATABASE mydatabase;
ERROR 1010 (HY000): Error dropping database (can't rmdir '.\mydatabase', errno: 13)
我去删除了这个目录:C:\Users\jaimemontoya\...\core\mysql\data\mydatabase
.
mysql> DROP DATABASE mydatabase;
ERROR 1008 (HY000): Can't drop database 'mydatabase'; database doesn't exist
mysql> CREATE DATABASE mydatabase;
Query OK, 1 row affected (0.00 sec)
这再次创建了C:\Users\jaimemontoya\...\core\mysql\data\mydatabase
包含此文件的文件夹:db.opt
.
mysql> SHOW databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> exit
Bye
创建数据库后,我将数据导入数据库,C:\Users\jaimemontoya\...\core\mysql\data\mydatabase
并填充了更多文件。我的数据库的每个表三个文件使用以下扩展名:
[table].frm
[table].MYD
[table].MYI