2013-03-22 13 views
13

リモートデータベース(別のマシン)上でローカルファイルを使用して次のコマンドを実行するにはどうすればよいですか?リモートマシンのLOAD DATA INFILE

$MYSQL_PATH/mysql -u root -h remote.net files -e " 
    LOAD DATA INFILE '$1' 
    INTO TABLE $TABLE_NAME 
    FIELDS TERMINATED BY ',' 
     (size, @d2, @d3, @d4, @d5, path) 

問題が/tmp/infile.txtでINFILEがリモートで認識されていないことのようです。上記を達成する正しい方法は何でしょうか?

答えて

23

LOAD DATA INFILEは、MySQLサーバーが稼動しているマシン上のファイルをロードします。

LOAD DATA LOCAL INFILEを使用して、クライアントマシンにあるファイルをロードします。

7

これを行うとき--local-infile=1を含めることを忘れないでください:

$MYSQL_PATH/mysql -u root -h remote.net files --local-infile=1 -e " 
    LOAD DATA LOCAL INFILE... 
関連する問題