ブログを検索

2024/09/16

MySQL で SELECT into outfile 出来なくてハマった件

 Windows上の MySQL で SELECT into outfile でテーブルの内容を CSVファイルにエクスポートしようとしてハマったので残しておく

環境
Windows10 Pro バージョン 1809
MySQL 8.4.0

という環境で

SELECT * FROM table1
into outfile 'C:/Users/User/Downloads/file.csv' CHARACTER SET SJIS fields terminated by ',' enclosed by '"' escaped by '"' lines terminated by '\r\n';

としてダウンロードフォルダに file.csv を作りたかったが下記エラーになる

General error: 1 Can't create/write to file 'C:\Users\User\Downloads\file.csv' (OS errno 13- Permission denied)

my.ini に

secure-file-priv="C:/Users/User/Downloads"

を記述してあり
SELECT @@global.secure_file_priv;
で確認すると C:\Users\User\Downloads\ になっているので MySQL の設定はOKそう

C:/Users/User/Downloads フォルダのプロパティで セキュリティタブ選択 → 編集 → 追加 → 
「選択するオブジェクト名を入力してください」というテキストボックスに
NETWORK SERVICE と入力 → OKボタン押下
セキュリティタブ選択直後のウインドウに戻ったら NETWORK SERVISE 行を選択し、書き込みの許可にチェックを入れ OKボタン押下
これで解決した。つまり MySQL はネットワークを介してファイルを生成するぽく!? Windowsのセキュリティ設定不足がエラー原因だった
日本語の対処情報は見つけられなかったのでレアケースなのかな???
それともワタクシは検索が下手なのかな???
ともあれ解決したのでOK

0 件のコメント:

コメントを投稿

クルマに付けてる第一電波の電動アンテナ基台 K9000 がアンテナ寝たままで起きなくなった💦 幸いなことに起きたまま寝なくなるんじゃなく寝たまま起きないので車庫入れは大丈夫 いつもの無線屋さんで相談したらソッコーで基台の殻割って直してもらえた どうやら接点が腐食して接触不良だっ...