MySQLにローカルファイルをロードすることはセキュリティ上の問題であり、デフォルトではオフになっています。可能であれば、オフのままにしておきます。許可されていない場合、次のエラーが発生します:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
解決策:
-
--local-infile=1を使用します mysqlコマンドラインの引数:ターミナルでMySQLを起動するときは、
--local-infile=1を含めます。 引数、このようなもの:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';次に、コマンドが許可されます:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 -
または、パラメータをmysqlデーモンに送信します:
mysqld --local-infile=1 -
または、my.cnfファイルに設定します(これはセキュリティリスクです):
mysql
my.cnfを見つけます ファイルを作成し、rootとして編集します。local-infileを追加します mysqldおよびmysql指定子の下の行:[mysqld] local-infile [mysql] local-infileファイルを保存し、mysqlを再起動します。もう一度お試しください。
詳細については、次を参照してください: http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html