ホームページ >データベース >mysql チュートリアル >MySQLのselect into Outfile return Errcode 13に選択するのはなぜですか?どうすれば修正できますか?

MySQLのselect into Outfile return Errcode 13に選択するのはなぜですか?どうすれば修正できますか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-24 14:46:10833ブラウズ

Why Does MySQL's SELECT INTO OUTFILE Return Errcode 13, and How Can I Fix It?

mysqlのselectのトラブルシューティングOutfile errcode 13

へのトラブルシューティング MySQLを使用してデータをCSVにエクスポートすることは、ERRCODE 13許可エラーをトリガーできます。これは通常、出力ファイルの場所がMySQLのデフォルトストレージディレクトリ(多くの場合

)ではない場合に発生します。 ユーザーは、代替ディレクトリに保存する際にこの問題に頻繁に遭遇します。 このエラーは、オペレーティングシステムのセキュリティに起因しています。 Ubuntuサーバーのような分布は、多くの場合、デフォルトでApparmorを有効にし、MySQLプロファイルは「Enforce」モードである可能性があります。これにより、MySQLの特定のディレクトリへの書き込みアクセスが制限されます これを修正するには、MySQLのApparmorプロファイルを調整して、選択したディレクトリへの書き込みを許可します。 SELECT INTO OUTFILE /tmp

apparmorステータスを確認してください:

このコマンドを使用して、mysqlのapparmorのモードを確認してください:

  1. apparmorプロファイルを編集します(施行モードの場合):apparmorが施行されている場合は、

    ファイルを変更します。 ターゲットディレクトリへの書き込みアクセスを許可する行を追加または変更します。 たとえば、書き込みを
    <code class="language-bash">sudo aa-status</code>
    およびそのサブディレクトリにすることを許可するには:
  2. /etc/apparmor.d/usr.sbin.mysqldリロードapparmorプロファイル:/data/プロファイルを編集した後、apparmorをリロードします:

    <code>/usr/sbin/mysqld {
        ...
        **/data/ r,
        /data/* rw,
    }</code>
  3. 重要なセキュリティ上の考慮事項:MySQLへの書き込みアクセスを付与するには、セキュリティへの影響を慎重に検討する必要があります。 許可されていないデータアクセスを防ぐための堅牢な権限とセキュリティ対策を実装してください。

以上がMySQLのselect into Outfile return Errcode 13に選択するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。