以下のコマンドを使用して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ファイルを取得します
まず、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
は失敗します。