web-dev-qa-db-ja.com

mysqlテーブルをローカルにダンプできません

以下のコマンドを使用してmysqlテーブルをダンプしようとしました

mysqldump --tab=/home/username/Desktop/basic/ --user myusername -p mysql user;

しかし、それは言ってエラーを返しました

mysqldump: Got error: 1: Can't create/write to file '/home/username/Desktop/basic/user.txt' (Errcode: 13) when executing 'SELECT INTO OUTFILE'

Ubuntu 14.04を使用します。 here の説明に従って、防具を無効にしようとしました。しかし、それでもエラーは存在します。他のソリューションはありますか?

編集

.txtファイルではなく.sqlファイルを取得します

1

まず、mysql/home/username/Desktop/basic/に書き込みできることを確認してください。同じディレクトリで複数のダンプを実行する予定の場合、それを行うための非常にクリーンな方法は、フォルダの所有権をmysqlに設定し、フォルダにSGID権限を設定することです(muruのおかげです)この提案の場合):この方法でmysqldumpはフォルダに書き込むことができますが、新しいファイルは親ディレクトリからグループを継承します。これには、ダンプの読み取り、書き込み、実行の許可をユーザーに任せるという利点があります。

Sudo chown mysql /home/username/Desktop/basic/ && Sudo chmod g+s /home/username/Desktop/basic/

さらに、コマンドを発行する前に、ターゲットディレクトリにuser.sqlまたはuser.txtという名前のファイルが存在しないことを確認してください。 mysqlがターゲットディレクトリに書き込めない場合、またはコマンドを発行する前に予想される出力ファイルのいずれかと同じ名前のファイルが存在する場合、mysqldumpは失敗します。

1
kos