删除数据库时出错(不能 rmdir './someDB/',错误号:17)
Error dropping database (can't rmdir './someDB/', errno: 17)
太疯狂了。我已经尝试了所有方法,但它仍然抛出相同的错误。
我有一个数据库,希望它在 MySQL-Server
上 运行。在数据库的开头:
DROP SCHEMA IF EXISTS someDB;
CREATE SCHEMA someDB;
USE someDB;
当我尝试 SHOW DATABASES LIKE 'someDB';
时,它证实了它的存在。
我试过了:
chmod
完整路径 /var/lib/mysql/someDB/someDB.sql
- 正在停止
MySQL-Server
,删除 someDB
文件夹并重新启动服务器。
- 我删除了整个
MySQL-Server
并重新安装了它。
经过几个小时的努力,我真的需要你的帮助。
编辑:
回答,当我运行sudo ls -la ./someDB
,它returns:
total 20
drwxrwxr-x 2 ubuntu ubuntu 4096 Nov 14 16:53 .
drwxrwxrwx 5 mysql mysql 4096 Nov 14 16:53 ..
-rwxrwxrwx 1 ubuntu ubuntu 12243 Nov 14 16:53 someDB.sql
如果运行以下命令,你会看到什么:
ls -la ./someDB/
如果里面有这样的文件example你应该先删除它
感谢@Beel
原来是我逻辑错误
在 someDB.sql
文件中,我使用了 USE
语句。但是,我正在尝试使用此命令 运行 数据库:
mysql -u root -p someDB < someDB.sql
这是绝对错误的,因为上面的语句提示USE
与sql
文件中的第一行(即DROP SCHEMA...
)冲突。
正确的做法是:
mysql -u root -p < someDB.sql
因为USE
语句已经放在文件中了!
太疯狂了。我已经尝试了所有方法,但它仍然抛出相同的错误。
我有一个数据库,希望它在 MySQL-Server
上 运行。在数据库的开头:
DROP SCHEMA IF EXISTS someDB;
CREATE SCHEMA someDB;
USE someDB;
当我尝试 SHOW DATABASES LIKE 'someDB';
时,它证实了它的存在。
我试过了:
chmod
完整路径/var/lib/mysql/someDB/someDB.sql
- 正在停止
MySQL-Server
,删除someDB
文件夹并重新启动服务器。 - 我删除了整个
MySQL-Server
并重新安装了它。
经过几个小时的努力,我真的需要你的帮助。
编辑:
回答sudo ls -la ./someDB
,它returns:
total 20
drwxrwxr-x 2 ubuntu ubuntu 4096 Nov 14 16:53 .
drwxrwxrwx 5 mysql mysql 4096 Nov 14 16:53 ..
-rwxrwxrwx 1 ubuntu ubuntu 12243 Nov 14 16:53 someDB.sql
如果运行以下命令,你会看到什么:
ls -la ./someDB/
如果里面有这样的文件example你应该先删除它
感谢@Beel
原来是我逻辑错误
在 someDB.sql
文件中,我使用了 USE
语句。但是,我正在尝试使用此命令 运行 数据库:
mysql -u root -p someDB < someDB.sql
这是绝对错误的,因为上面的语句提示USE
与sql
文件中的第一行(即DROP SCHEMA...
)冲突。
正确的做法是:
mysql -u root -p < someDB.sql
因为USE
语句已经放在文件中了!