web-dev-qa-db-ja.com

データベースの削除エラー(rmdir '.test \'、errno:17)

基本的に、「mysqladmin -u root -p password」コマンドを使用してルートパスワードを作成する方法を教えられました。これはすべて、Windowsコマンドエディターで行われました。さて、次のプロセスは、デフォルトのデータベース(info。schema、mysql、test)を表示することでした。これは、「SHOW DATABASES;」を使用して達成されました。

しかし、本によると、冗長なテストファイルを削除する必要があり、次のエラーが表示されます。

データベースの削除エラー(rmdir '.test \'、errno:17)

使用するコマンドはDROP DATABASE test;でした

MYSQLとPHPMYADMINを使用しています。エラーなしでファイルをドロップする方法に関するヘルプはありますか?

108
Sid

データベースは、データディレクトリの下のディレクトリで表されます。このディレクトリは、テーブルデータを保存するためのものです。

DROP DATABASEステートメントは、すべてのテーブルファイルを削除してから、データベースを表すディレクトリを削除します。ただし、テーブル以外のファイルは削除されないため、ディレクトリを削除することはできません。

ディレクトリを削除できない場合、MySQLはエラーメッセージを表示します

データベースディレクトリに残っているファイルを削除してから、ディレクトリ自体を削除することで、データベースを手動で削除できます。

147
Shakti Singh

Macでmysql 5.5を新規インストールしたときに、同じ問題に遭遇しました。テストスキーマを削除しようとすると、errno 17メッセージが表示されました。 errno 17は、いくつかのposix os関数によって返されるエラーで、ファイルが存在すべきでない場所に存在することを示します。データディレクトリで、奇妙なファイル「.empty」を見つけました。

sh-3.2# ls -la data/test
total 0
drwxr-xr-x   3 _mysql  wheel  102 Apr 15 12:36 .
drwxr-xr-x  11 _mysql  wheel  374 Apr 15 12:28 ..
-rw-r--r--   1 _mysql  wheel    0 Mar 31 10:19 .empty

.emptyファイルをrm'dすると、drop databaseコマンドは成功しました。

.emptyファイルがどこから来たのかわかりません。前述のとおり、これは新しいmysqlインストールでした。おそらく、インストールプロセスで問題が発生した可能性があります。

37
Beel

Mysqlインストールのdatadirに移動し、データベースを手動でrmします。かもね

/usr/local/var/mysql

次に、

rm -R <Your DB name>

インストールのdatadirを確認するには、

vim the mysql.server file and find it there.
30
Nerve

phpmyadminの場合、xampp\mysql\dataに移動し、データベースフォルダーを削除します。私のために働いた!!

XAMPPの場合、以下を実行します。

cd /opt/lampp/var/mysql;
Sudo su;
rm -rf test;

お役に立てれば。

11

私はちょうどWAMPとそれに付属するphpMyAdminでこの問題に遭遇しました。データベースを削除してエラーを解消するには。 C:\wamp\bin\mysql\mysql5.5.24\data\に入って、問題のデータベースのフォルダーを削除しました。

次に、phpMyAdminのページを更新しましたが、データベースは削除されました。

7
J86

これまでの応答に追加するだけです:Windows 10では、データファイルはここに保持されます...

C:\ ProgramData\MySQL\MySQL Server [m.n]\data

データベース内の各スキーマにディレクトリがあります。削除しようとしているスキーマ内に移動し、余分なファイルを手動で削除してから、dropコマンドを再試行します。

データベースに対するワークベンチの変更は、この場所に保存されます。たとえば、データベースの1つでリバースエンジニアリングを実行し、この場所の.mwbファイルに保存された変更を保存すると、このエラーが発生しました。

2
IqbalHamid

これを実行し、選択したデータベース内の対応するキャッシュファイルを削除してから、データベースを削除した後

最初に、選択したDBを含むMySQLデータディレクトリを見つけます

Linux

  • MySQLの構成ファイルを開きます:less /etc/my.cnf
  • 「datadir」という用語を検索します:/ datadir

  • 存在する場合、次の行を強調表示します:datadir = [path]

  • その行を手動で探すこともできます。通常、[mysqld]のセクション見出しの下にありますが、必ずしもそこにある必要はありません。

  • その行が存在しない場合、MySQLはデフォルトで/ var/lib/mysqlになります

Windows 1. MySQLの構成ファイルをメモ帳で開きます:my.ini

My.iniは、MySQLプログラムフォルダーにあります。これは、インストールされた場所になります。 MySQLをインストールしていない場合は、Windowsの「検索」機能を使用してmy.iniを探します。 [ドライブ]:\ Program Files\MySQL\MySQL Server 5.5を参照して、手動で検索することもできます。

  1. メモ帳で検索して、「datadir」という用語を見つけます。

  2. 存在する場合、次の行を強調表示します:datadir = [path]

  3. その行を手動で探すこともできます。通常、[mysqld]のセクション見出しの下にありますが、必ずしもそこにある必要はありません。

  4. その行が存在しない場合、おそらく[drive]:\ ProgramData\MySQL\MySQL Server 5.5\dataの下にあります。

注:「ProgramData」フォルダは非表示になっている場合があります。 Windowsエクスプローラーに明示的なパスを入力する必要がある場合があります

1
Mewan

Sqlディレクトリのデータを削除できます。

私は、Windows 10でAMPPSを使用していました。AMPPsインストールディレクトリに移動しました。私にとっては:

D:\Program Files (x86)\Ampps\mysql\data

セカンダリドライブにインストールしているからです。

次に、SQLクライアントを更新すると、それが消えていることがわかります。

0
moeiscool

データベースを削除するときに「candir rmdir ..」エラーが発生するという同じ問題(Macのmysql 5.6)がありました。空のデータベースディレクトリを削除することはできません。ソリューションを提供してくれた@Frameworkと@Beelに感謝します。

(/ Applications/XAMPP/xamppfiles/var/mysql)のターミナルからdbディレクトリを最初に削除しました。

さらにデータベースを削除するために、空のテストファイルも削除しました。私の場合、ファイルはNOTEMPTYと呼ばれましたが、まだ0が含まれています。

Sudo ls -al test
total 0
drwxrwx---   3 _mysql  _mysql  102 Mar 26 16:50 .
drwxrwxr-x  18 _mysql  _mysql  612 Apr  7 13:34 ..
-rw-rw----   1 _mysql  _mysql    0 Jun 26  2013 NOTEMPTY

最初にChmod、次に

Sudo rm -rf test/NOTEMPTY

その後、データベースを削除しても問題ありません

0
user3857472

私の場合、phpMyAdminのデータベースの下にテーブルが表示されませんでしたが、Wamp serverを使用していますが、C:\wamp\bin\mysql\mysql5.6.12\dataの下のディレクトリを確認すると、このファイルを手動で削除したときにこのemployed.ibdを見つけたので、問題なくスムーズにdropからデータベースをphpMyAdmin

0
Yousef Altaf

2つのことを確認する必要がある場合があります。

1- Database Foleder's permission削除するデータベースには、mysqlプロセスと同じ所有者が必要です。

2- ディレクトリは空でなければなりません mysqlデータディレクトリに移動し、ディレクトリが空であることを確認します

その後、mysql cliを接続して、drop databaseコマンドを再度実行します。

0
Mansur Ali

私の場合、パスが「wamp\bin\mysql\mysql5.6.17\data」のデータディレクトリに移動するだけで、すべてのデータベースフォルダがこのデータベースフォルダを削除するだけで、データベースが自動的に垂れ下がります:)

0
sms247

私の場合、問題はデータベースディレクトリの残留ダンプファイルでした。このファイルは、おそらく私が取り組んでいたバックアップスクリプトテスト中に生成されたものです。ファイルを手動で削除したら、データベースを削除できます。

0
Ranieri Machado