2016-12-23 21 views
0

Linux。いいえSELinux(無効)。 私はlinuxuser(グループのmysqlのメンバー)として、このコマンドを実行しよう:mysqldump: 'SELECT INTO OUTFILE'を実行すると、エラー:1:「ファイル '* .txt'を作成できません(Errcode:13 "Permission denied")」

mysqldump --user=root --tab "/some/folder" dbname

このエラーを取得:

mysqldump: Got error: 1: "Can't create/write to file 'sometable.txt' (Errcode: 13 "Permission denied")" when executing 'SELECT INTO OUTFILE'

私はフォルダに見れば、sometable.sqlがありますtxtファイルはありません。 私が理解しているように、sqlファイルはコマンドを実行するユーザ名(私の場合はlinuxuser)から作成されますが、txtファイルはmysqlサーバ(この場合はmysqlユーザ)によって生成されます。 mysql userはmysql groupのメンバーでもあることに注意してください。

何が問題なのですか?すべてを試してみた

+2

を読むこれはおそらく、あなたが 'chmodの777 /いくつか/で確認することができ、簡単なアクセス許可の問題ですfolder' mysqlがまだデータファイルを書き込めない場合は、親ディレクトリのアクセス権を確認してください。 – siloko

+0

はい、ありがとうございます。私はそれが親フォルダのアクセス許可に起因すると思う。 – ACV

答えて

0

解決策は"some/folder"を外部の場所に変更することでした。元々、上記のフォルダはPERFORCEのルートの下にあり、おそらく読み取り専用のアクセス許可を持っていたため、アクセス権の問題があるように見えます。

私は、その後に新しいフォルダのアクセス許可を変更:プロセスが開始されたときのユーザーだけでなく、MySQLサーバの両方が書き込み権限を持っていることを確認すること

mylinuxuser:mysql

。これは、sqlファイルがユーザーの名前から書き込まれ、txtファイルがmysqlサーバーの名前から書き込まれているためです。

私もmysqlグループに追加しました。

-1

使用してファイルをエクスポートしようとすると、(Windowsの)私のために働いているもの:

SELECT * INTO OUTFILE 'C:/documents/dumps' from file 
  1. のMySQLサービスのプロパティ - >ログオン:定義されたノートのアカウントを取ります。
  2. ディレクトリC:\文書は\ダンプ - >プロパティ - >セキュリティを:ニーズ上で定義されたアカウントは/書き込み権限
+0

これはOS権限に関連する問題です –

関連する問題