■ Ubuntu学習 #6:MySQL使ってみる



第2回 MySQLにはじめてのデータを入れてみる:MySQL道普請便り|gihyo.jp … 技術評論社

上記サイトのサンプルデータその3をやってみたがエラーでインポートできなかった。
mysql> LOAD DATA INFILE '/tmp/KEN_ALL_UTF8.CSV' INTO TABLE zipcode.zipcode FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (code, old_zipcode, zip_code, prefecture_kana, city_kana, town_kana, prefecture, city, town, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy);
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
mysql>

既定では決められた場所以外からのインポートはできない模様
@@global.secure_file_prev を確認
mysql>  SELECT @@global.secure_file_priv;
+---------------------------+
| @@global.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/     |
+---------------------------+
1 row in set (0.00 sec)

上記のようになっているので
インポート対象のファイルは /var/lib/mysql-files/ に置く必要がある

ということで、ファイルをコピーし、
user@user:~$ sudo cp /tmp/KEN_ALL_UTF8.CSV /var/lib/mysql-files/

LOAD DATAのパスを変更しインポート
mysql> LOAD DATA INFILE '/var/lib/mysql-files/KEN_ALL_UTF8.CSV' INTO TABLE zipcode.zipcode FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (code, old_zipcode, zip_code, prefecture_kana, city_kana, town_kana, prefecture, city, town, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy);
Query OK, 124433 rows affected (4.73 sec)
Records: 124433  Deleted: 0  Skipped: 0  Warnings: 0



技術メモ, Linux, Ubuntu, MySQL

0 件のコメント:

その他の記事