以下のエラーが発生したら、サーバー・クライアント両方の local_infile
オプションを 1 に設定してやる
mysql> LOAD DATA LOCAL INFILE '/tmp/users.csv' INTO TABLE users FIELDS TERMINATED BY ',' ENCLOSED BY '"';
ERROR 1148 (42000): The used command is not allowed with this MySQL version
-- 現在の設定を確認
mysql> SELECT @@local_infile;
+----------------+
| @@local_infile |
+----------------+
| 0 |
+----------------+
1 row in set (0.00 sec)
-- 0 だったので 1 を設定する(CSVファイルのインポートを可能にする)
mysql> SET PERSIST local_infile= 1;
Query OK, 0 rows affected (0.02 sec)
-- 変更されたことを確認
mysql> SELECT @@local_infile;
+----------------+
| @@local_infile |
+----------------+
| 1 |
+----------------+
1 row in set (0.00 sec)
# --local_infile=1 をつけてログインする
mysql -uroot -ppassword --local_infile=1
mysql> use sandbox
mysql> LOAD DATA LOCAL INFILE '/tmp/users2.csv' INTO TABLE users FIELDS TERMINATED BY ',' ENCLOSED BY '"';
Query OK, 4 rows affected, 1 warning (0.11 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 1