@niruniru

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

mysqlでCSVファイルを load data local infile でアップロードできない(エラーコード:2068)

前提・実現したいこと

mysqlでCSVファイルを load data local infile でアップロードしたい。

発生している問題・エラーメッセージ

以下のエラーが発生します。
Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

該当のソースコード

load data local infile 'C:ProgramData\MySQL\MySQL Server 8.0\Uploads\text.csv' INTO table test.test ;

試したこと

関係ないかもしれませんが、以下も試してみたのですが、結果は以下の通りでした。
・もともと、mycnf.iniの設定は、secure-file-priv = "C:ProgramData\MySQL\MySQL Server 8.0\Uploads"だったのですが、その設定でも同じエラーが発生しました。

・以下のコマンドでデータをエクスポートすると、正常終了するのですが、ファイルが見えませんでした。(OS側で問題があるのでしょうか。)

LOAD DATA LOCAL INFILE "C:ProgramData\MySQL\MySQL Server 8.0\Uploads\text2.csv" INTO TABLE テーブル名 test.test ;

・以下のURL記載の内容に近いのではないかと思っています。
https://teratail.com/questions/72823

補足情報

ユーザー : root
 OS : Windows10
 バージョン : mysql 8.0

mysqlの設定状況は以下の通りです。
mysql> SELECT @@global.secure_file_priv;
+---------------------------+
| @@global.secure_file_priv |
+---------------------------+
| |
+---------------------------+
  
mycnf.ini
secure-file-priv = ""

mysql> select host, user, file_priv from user;
+-----------+------+-----------+
| host | user | file_priv |
+-----------+------+-----------+
| localhost | root | Y |
+-----------+------+-----------+

0 likes

1Answer

LOAD DATA LOCAL INFILE "C:ProgramData\MySQL\MySQL Server 8.0\Uploads\text2.csv" INTO TABLE テーブル名 test.test;

ではなく

LOAD DATA LOCAL INFILE "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/text2.csv" INTO TABLE テーブル名 test.test;

ではありませんか?

1Like

Comments

  1. @niruniru

    Questioner

    ご返信が遅くなり、大変申し訳ありません。また、早速のご回答ありがとうございました。

    おっしゃる通り、'/'で成功しました。

    ただ、なぜかわからなかったのですが、上記の対応と「local」のキーワードを外すとで成功しました。

Your answer might help someone💌