MySQL エラー 1290 を修正する方法: 「MySQL サーバーは --secure-file-priv オプションを使用して実行されているため、このステートメントを実行できません」

Linda Hamilton
リリース: 2024-10-27 13:08:02
オリジナル
849 人が閲覧しました

How to Fix MySQL Error 1290:

MySQL エラー 1290: Secure File Private Option Blocking Data Export

INTO OUTFILE を使用したファイルへのデータ エクスポートを伴う MySQL ステートメントの実行時句を使用すると、「エラー コード: 1290。MySQL サーバーは --secure-file-priv オプションを使用して実行されているため、このステートメントを実行できません。」というエラーが発生する場合があります。これは、ファイル操作を制限する強化されたセキュリティ対策がサーバーに設定されている場合に発生します。

Secure File Private オプションの説明

--secure-file-priv オプションの制限MySQL サーバー内のファイル アクセスと権限。デフォルトでは、このオプションは有効になっており、ファイル操作に許可される唯一の場所として特定のディレクトリが割り当てられます。この指定されたディレクトリ以外のファイルにアクセスまたは書き込みしようとすると、エラー 1290 が発生します。

簡単な解決策: 許可されたディレクトリへのパスを制限します

変更せずにこのエラーを解決するにはサーバー設定では、ユーザーは INTO OUTFILE 句で許可されたディレクトリを明示的に指定できます。

SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE '<path/to/permitted/directory>/report.csv'
FIELDS TERMINATED BY '#'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
ログイン後にコピー

を置き換えます。 secure_file_priv オプションで許可される実際のディレクトリ パスに置き換えます。

代替解決策:

  • セキュア ファイル プライベート オプションを無効にする:

これには、MySQL 構成ファイル (通常は my.ini または my.cnf) を編集する必要があります。 secure_file_priv オプションをコメントアウトまたは削除するか、空の文字列 (``) に設定します。ただし、これによりサーバーのセキュリティが低下するため、制御された環境でのみ実行する必要があります。

  • ユーザーにファイル権限を付与します:

ファイル アクセスが必要な場合許可されたディレクトリを超えて、実行ユーザーに FILE 権限を付与できます。これは、次の SQL ステートメントを使用して実行できます:

GRANT FILE ON *.* TO <username>@'<host>';
ログイン後にコピー

以上がMySQL エラー 1290 を修正する方法: 「MySQL サーバーは --secure-file-priv オプションを使用して実行されているため、このステートメントを実行できません」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート