ブログを検索

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 件のコメント:

コメントを投稿

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

 Windows上の MySQL で SELECT into outfile で CSVファイルをエクスポートしようとしてハマったので残しておく 環境 Windows10 Pro バージョン 1809 MySQL 8.4.0 という環境で SELECT * FROM table1...