删除数据库时出错(不能 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'; 时,它证实了它的存在。

我试过了:

  1. chmod 完整路径 /var/lib/mysql/someDB/someDB.sql
  2. 正在停止 MySQL-Server,删除 someDB 文件夹并重新启动服务器。
  3. 我删除了整个 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

这是绝对错误的,因为上面的语句提示USEsql文件中的第一行(即DROP SCHEMA...)冲突。

正确的做法是:

mysql -u root -p < someDB.sql

因为USE语句已经放在文件中了!