重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

とあるテーブルに,CSV形式のデータを流し込もうとしたら,以下のようなエラーが出てきました。

mysql> LOAD DATA INFILE "c:/syokuji.csv" INTO TABLE syokuji FIELDS TERMINATED BY ','
-> ENCLOSED BY '"';
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

これはなぜ起こるのでしょうか?
ちなみに,使用しているOSはWindows10です。

A 回答 (1件)

SELECT @@secure_file_priv;


で得られたフォルダからアップロードしてみては?
NULLであればmysql設定ファイルで
--secure-file-privを設定してみてください
    • good
    • 0
この回答へのお礼

ありがとうございます。

SELECT @@secure_file_priv;

で得られたフォルダからアップロードしてみてみても,できない状況です。

NULLであればmysql設定ファイルで

--secure-file-privを設定してみてくださいとありますが,

方法がわかりません。

ちなみに,

先ほど,調べたところ,

直訳すると
このMySQLサーバは--secure-file-privオプションをつけて実行されているので、その命令文は実行できません
です
で、--secure-file-privオプションとはなんぞやというと、LOAD DATAみたいなファイル関係の命令をセキュリティのためにかなり制限するためのオプションです
最近はデフォルトでONになっているみたいですね
my.cnfの[mysqld]ディレクティブの中に
secure-file-priv = empty
とでも書いておけば回避できるかと思います(試してません…)
実際に設定ファイルを上記の様に書き直し,再起動してみたところ,
MySQLサーバが立ち上がらなくなりました。
なので,
secure-file-priv = empty
を取りやめ元に戻し,再起動したら,きちんとサーバー
が動くようになりました。ですが,取り込めない,という顛末です。
なぜでしょうか。

お礼日時:2016/02/15 18:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す