私は次のsytanxを使用しました
drop database filmo;
次のエラーが発生しました:
ERROR 1010 (HY000): Error dropping database (can't rmdir './filmo/', errno: 17)
何か案は..
私は次のsytanxを使用しました
drop database filmo;
次のエラーが発生しました:
ERROR 1010 (HY000): Error dropping database (can't rmdir './filmo/', errno: 17)
何か案は..
これは、そのディレクトリに MySQL に関係のないファイルがあることを意味します。もう 1 つの問題は、疑わしく思いますが、アクセス許可が不十分なことです。ファイルシステムからそのディレクトリを削除できます。
同じエラーが発生しました。これにより、Ubuntu 10.04で修正されました。
stop mysql
rm -rf /var/lib/mysql/XXXXX
start mysql
XXXXX は問題のあるデータベース名です。
sudo rm -rf /var/lib/mysql/db_production
ここで、db_production はデータベースの名前です
「sudo」を使用することを忘れないでください。
mysql フォルダー (Windows サーバーc:\xampp\mysql
) のアクセス許可を変更し、現在作業中です。エラーなしでデータベースを作成および削除しました。
エラーをシミュレートする方法は次のとおりです
1.MySQLデータディレクトリにディレクトリを作成
mkdir /data/mysql/data/filmo
2.最後の項目をチェック
[root@linux]# ls -ltrh /data/mysql/data/
总用量 173M
-rw-rw---- 1 mysql mysql 48M 4月 17 11:00 ib_logfile1
drwx------ 2 mysql mysql 4.0K 4月 17 11:00 performance_schema
drwx------ 2 mysql mysql 4.0K 4月 17 11:00 mysql
-rw-rw---- 1 mysql mysql 56 4月 18 06:01 auto.cnf
drwxr-xr-x 2 root root 4.0K 4月 18 07:25 backup
-rw-rw---- 1 mysql mysql 19 4月 23 07:29 mysql-bin.index
-rw-rw---- 1 mysql mysql 5 4月 23 07:29 oldboylinux.pid
-rw-rw---- 1 mysql mysql 19K 4月 23 07:29 error.log
-rw-rw---- 1 mysql mysql 76M 4月 23 09:56 ibdata1
-rw-rw---- 1 mysql mysql 48M 4月 23 09:56 ib_logfile0
-rw-rw---- 1 mysql mysql 5.9K 4月 23 10:21 mysql-bin.000001
drwxr-xr-x 2 root root 4.0K 4月 23 10:36 filmo
3.その中にダンプファイルを作成します
[root@linux]# mysqldump -uroot -p123456 -B mysql>/data/mysql/data/filmo/dump_file.sql
4.MySQL は filmo がデータベースであると認識します。
[root@linux]# mysql -uroot -p123456 -e"show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| backup |
| filmo |
| mysql |
| performance_schema |
+--------------------+
5.この「データベース」を削除すると、エラーが発生します
[root@linux]# mysql -uroot -p123456 -e"drop database filmo;"
ERROR 1010 (HY000) at line 1: Error dropping database (can't rmdir './filmo/', errno: 17)
そのエラーは通常、ibdata1 ファイル (innodb エンジン用) に間違った TABLESPACE がある場合に発生します。innodb エンジンは ibdata1 ファイル内にいくつかの設定を保存します。
最近ファイルを他のサーバーにコピー/移動したか、復元しようとした場合は、ibdata1 ファイルも移動する必要があります。その後、データベースを削除できます。テーブルが存在せず、現在データベースを削除しているような問題が発生していると思いますか? はいの場合は、mysql サービスを停止し、ファイルを削除してから db を再度作成すると、役に立ちます。さらにここでこれが役立つかもしれません[データベースの削除エラー (Can't rmdir '.test\', errno: 17)
私はこの問題を抱えていましたが、それはあなたの mysql ユーザー権限に関するものと思われます。うまくいった場合は、root ユーザーで実行してみてください:
grant drop
execute on *.* to 'your-user-name'@'user-ip';
そのディレクトリ (および親) に対する書き込み権限はありますか? ディレクトリを再帰的に書き込み可能にし (Windows のセキュリティ タブまたは nix の chmod)、「Thumbs.db」などの非 db ファイルを削除する必要がある場合があります。
drop database <database_name>;