AWS上で MySQL な RDS を利用していたときに発生してて聞かれて調べた件。
クライアント側でもmysqlコマンドが使えるとき。
csv ファイルをimportしようとし、
mysql> LOAD DATA INFILE '/home/simeji/data.csv' INTO TABLE simeji.simeji_test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
>> ERROR 1045 (28000): Access denied for user 'simeji'@'%' (using password: YES)
こんな感じで Access denied っておこられてしまいました。
FILE
権限がないんだなと思って、つけようと試みてみましたが、そもそも RDS の MySQL はセキュリティ周りの問題で FILE
をはじめ、いくつかの権限がつけれない模様。
ちょっとしらべてたら、stack overflow の記事 を見つけて LOAD DATA LOCAL INFILE
ならできそうな感じだったので試してみたらできました。
mysql> LOAD DATA LOCAL INFILE '/home/simeji/data.csv' INTO TABLE simeji.simeji_test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';