2009-06-24 6 views
13

出力を生成するために次のコードを取得できません。 MySQLユーザは "all" grantレベルを持ち、/ tmpは書き込み可能です。クエリは結果セットを返します。MySQLがoutfile/tmpに出力を選択しない

mysql> SELECT field FROM test_table WHERE condition='test' 
    -> INTO OUTFILE '/tmp/test.csv' 
    -> FIELDS TERMINATED BY ',' 
    -> ENCLOSED BY '"' 
    -> LINES TERMINATED BY '\n'; 
Query OK, 1 row affected (0.00 sec) 

mysql> 
[1]+ Stopped     mysql 
[[email protected] ~]# cat /tmp/test.csv 
cat: /tmp/test.csv: No such file or directory 

エラーが発生した場合は、MySQLの出力が異なるはずですか?

「1行に影響を受けた」以上の結果を確認できますか?

+0

なぜselect文が何に影響しますか? – futureelite7

+0

おそらく、それはselectではなくoutfile関数を指しています。 – Andy

答えて

17

outfile句で生成されるファイルは、mysqlサーバホスト上に作成されます。 mysqlサーバホストではない可能性が高いクライアントホストにあるように、mysqlサーバホストを確認してください。

これに関するドキュメントについては、outfileに関するセクションのhttp://dev.mysql.com/doc/refman/5.0/en/select.htmlを参照してください。

+0

ありがとうDipin、これはDBサーバーではないことは間違いありません。多くのありがとう – Andy

+0

問題ありません。お役に立てて嬉しいです。乾杯! – Dipin

+0

あなたはちょうど私の頭を徹夜で救いました。ありがとう! – jerrygarciuh

0

あなたがファイル権限の問題に遭遇しているような音です。 mysqldが実行しているuser:groupに/tmp/test.csvへの書き込み権限があることを確認してください。

問題を解決するためのサーバーデーモン/ファイルアクセスのさまざまな種類があります。おそらくUNIXベースでは、次のようにすることができます:chgrp mysqldGROUP/tmp

しかし、そう簡単には思われません。あなたのサーバは特定の方法で設定されています。 mysqldプロセスは、ほんの一握りの場所からしか読み書きすることができません。

10

私はFedora 17でこの問題に遭遇しました。これはsystemdによって引き起こされました。私はそれを共有するのが良いと思います。

mysql> select * into outfile '/tmp/z1' from t1; 
Query OK, 673 rows affected (0.01 sec) 
mysql> select * into outfile '/tmp/z2' from t1; 
Query OK, 673 rows affected (0.01 sec) 
mysql> select * into outfile '/tmp/z1' from t1; 
ERROR 1086 (HY000): File '/tmp/z1' already exists 
mysql> Bye 

# cat /tmp/z1 
cat: /tmp/z1: No such file or directory 
# ls -d systemd-* 
/tmp/systemd-private-AQEueG 
/tmp/systemd-private-AuCNDY 
/tmp/systemd-private-TOMNxZ 
/tmp/systemd-private-UacrpE 
/tmp/systemd-private-yal7lQ 
/tmp/systemd-private-ZlRJeN 
# ls /tmp/systemd-private-TOMNxZ 
z1 z2 

犯人は/usr/lib/systemd/system/mysqld.serviceにありました。

# Place temp files in a secure directory, not /tmp 
PrivateTmp=true 

this blogのおかげで、私は手がかりを見つけました。

+0

共有ありがとう – blissini

関連する問題