mysqlのselectのトラブルシューティングOutfile errcode 13
へのトラブルシューティング MySQLを使用してデータをCSVにエクスポートすることは、ERRCODE 13許可エラーをトリガーできます。これは通常、出力ファイルの場所がMySQLのデフォルトストレージディレクトリ(多くの場合)ではない場合に発生します。 ユーザーは、代替ディレクトリに保存する際にこの問題に頻繁に遭遇します。
このエラーは、オペレーティングシステムのセキュリティに起因しています。 Ubuntuサーバーのような分布は、多くの場合、デフォルトでApparmorを有効にし、MySQLプロファイルは「Enforce」モードである可能性があります。これにより、MySQLの特定のディレクトリへの書き込みアクセスが制限されます
これを修正するには、MySQLのApparmorプロファイルを調整して、選択したディレクトリへの書き込みを許可します。
SELECT INTO OUTFILE
/tmp
apparmorステータスを確認してください:
このコマンドを使用して、mysqlのapparmorのモードを確認してください:
apparmorプロファイルを編集します(施行モードの場合):apparmorが施行されている場合は、
ファイルを変更します。 ターゲットディレクトリへの書き込みアクセスを許可する行を追加または変更します。 たとえば、書き込みを<code class="language-bash">sudo aa-status</code>
/etc/apparmor.d/usr.sbin.mysqld
リロードapparmorプロファイル:/data/
プロファイルを編集した後、apparmorをリロードします:
<code>/usr/sbin/mysqld { ... **/data/ r, /data/* rw, }</code>
重要なセキュリティ上の考慮事項:MySQLへの書き込みアクセスを付与するには、セキュリティへの影響を慎重に検討する必要があります。 許可されていないデータアクセスを防ぐための堅牢な権限とセキュリティ対策を実装してください。
以上がMySQLのselect into Outfile return Errcode 13に選択するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。