尝试在MySQL中删除数据库时
'DROP DATABASE IF EXISTS temporarydata'
我收到以下错误
Error Code: 1010. Error dropping database (can't rmdir '.\temporarydata', errno: 13)
我已经研究了这个,我认为它可能是一个权限问题,但是我发现的所有修复都是针对Linux计算机的。有没有人知道如何在Windows 7中解决这个问题?
答案 0 :(得分:2)
Errno 13
MySQL对temporarydata
文件夹所在的父目录没有写权限。检查出来
数据库由数据目录下的目录表示,该目录用于存储表数据。
DROP DATABASE
语句将删除所有表文件,然后删除表示数据库的目录。 但是,它不会删除非表格文件,因此无法删除目录。
MySQL在无法删除目录时显示错误消息,您可以通过删除数据库目录中的所有剩余文件然后删除目录本身来手动删除数据库。
答案 1 :(得分:2)
我知道自创建此主题以来已有一年多的时间,但我想我应该与您分享我对此问题的经验以及我所做的解决方案。请注意,它适用于在Windows 7中使用MySQL Workbench的人。
- 转到目录C:\ ProgramData \ MySQL \ MySQL Server 5.6 \ data(在某些情况下,如果看不到ProgramData文件夹,则取消隐藏 它首先使用文件夹和搜索选项。)
- 您可以在那里看到该数据库的文件夹(例如,temporarydata)。
- 删除该文件夹。
- 醇>
重新运行您的sql脚本。
drop database temporarydata;
希望这有帮助。
答案 2 :(得分:0)
如果使用wampserver和mariadb,则可以直接转到此处并删除数据库的文件夹:
C:\ wamp64 \ bin \ mariadb \ mariadb10.2.8 \ data
答案 3 :(得分:0)
我遇到了同样的问题。我在下面的解决方案中进行描述:
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