Windows上の MySQL で SELECT into outfile で CSVファイルをエクスポートしようとしてハマったので残しておく
環境
Windows10 Pro バージョン 1809
MySQL 8.4.0
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 件のコメント:
コメントを投稿