エラーが発生しました: MySQL サーバーのセキュア ファイル権限によりステートメントの実行が制限されています
エラー コード: 1290 が発生しました。MySQL サーバー--secure-file-priv オプションを使用して実行されているため、このステートメントを実行できません」というメッセージが表示され、INTO OUTFILE コマンドの使用を伴う MySQL ステートメントを実行しようとしました。
エラーの原因:
secure-file-priv オプションは、セキュリティを向上させるために MySQL がファイルを書き込むことができるディレクトリを制限します。デフォルトでは、このオプションは MySQL による外部ディレクトリへの書き込みを制限します。
即時の解決策 (構成変更以外):
この問題を解決する簡単な回避策は、次のことを確認することです。 MySQL がファイルの書き込みを許可されているディレクトリ:
<code class="sql">mysql> SHOW VARIABLES LIKE "secure_file_priv";</code>
許可されたディレクトリを特定したら、このディレクトリをターゲットとして使用するように INTO OUTFILE ステートメントを変更します:
<code class="sql">SELECT * FROM xxxx WHERE XXX INTO OUTFILE '/var/lib/mysql-files/report.csv' FIELDS TERMINATED BY '#' ENCLOSED BY '"' LINES TERMINATED BY '\n'</code>
永続的な解決策 (構成変更):
Windows:
「[mysqld]」グループを見つけて、「secure-file-priv」オプションを追加または変更します。許可するディレクトリを指定します。例:
<code class="ini">[mysqld] secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.6/Uploads"</code>
Linux:
「[mysqld]」グループを見つけて、「secure- file-priv」オプションを使用して、許可されたディレクトリを指定します。例:
<code class="ini">[mysqld] secure-file-priv="/var/lib/mysql-files/"</code>
以上が「エラー コード: 1290。MySQL サーバーは --secure-file-priv オプションを使用して実行されています...」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。