2016-07-25 22 views
-2

私はcsvにmysqlクエリを保存しようとしています。私はさまざまなオプションを探して見つけました。このオプションは、きれいコードのように思えたが、私はcsvのMySql結果

1045エラーを取得

を働いていない - アクセスはユーザのユーザのために@ 'localhost' の拒否(パスワード使用:YES)

SELECT * 
FROM clients 
INTO OUTFILE 'mytest.csv' 

を私はINTO OUTFILE 'mytest.csv'を削除すると、それはlocalhost.checkユーザーPRIに「unidimec」の権限エラーがある細かい

(簡易SQLコード)を

+0

多分 ':/.../ mytest.txt C' のようなものを追加しますか? –

+0

@MarcElBichon。コメントありがとうございます。それでも同じエラー –

答えて

0

作品"unidimec"のvilegeとmysql rootユーザからの特権を与える。

+0

ユーザにフル特権 –

+0

が付与されています*。 * TO 'unidimec' @ 'localhost'; FLUSH PRIVILEGESを発行する。 – Kumaresan

0

構文は、私はあなたがファイルを生成するために、MySQLのユーザーに権限を付与する必要があると思います

SELECT Your_Column_Name 
    FROM Your_Table_Name 
    INTO OUTFILE 'Filename.csv' 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
0

です。

mysqlのインターフェイスでログインした後、コマンド以下

mysql -u root -p[password] 

により、SSH (あなたは専用サーバーを持っている場合、それ以外のあなたのWebホスティングのサポートに連絡する必要がある)のmysqlのルートで

ログインでログインこのユーザーにファイルの許可を与える

GRANT FILE ON *.* TO 'unidimec'@'localhost'; 
0

"INTO OUTFILE"のドキュメントを非常に慎重に読んでください:

SELECT ... INTO OUTFILE文は、主にサーバマシン上のテキストファイルにテーブルをダンプできるようにすることを目的としています。サーバーホスト以外のホストで結果ファイルを作成する場合は、通常、サーバーホストのファイルシステムを基準にファイルへのパスを書き込む方法がないため、SELECT ... INTO OUTFILEは使用できません。

ただし、MySQLクライアントソフトウェアがリモートマシンにインストールされている場合は、mysql -e "SELECT ..."> file_nameのようなクライアントコマンドを使用して、クライアントホスト上でファイルを生成することができます。

リモートホスト上のファイルの場所に、サーバーのファイルシステム上のネットワークマップパスを使用してアクセスできる場合は、サーバーホスト以外の別のホストに結果ファイルを作成することもできます。この場合、mysql(またはその他のMySQLクライアントプログラム)がターゲットホスト上に存在する必要はありません。

http://dev.mysql.com/doc/refman/5.7/en/select-into.html