2010-08-07 4 views
3

나는 다음 쿼리하여 MySQL의 데이터의 CSV 내보내기를 만들려고 해요 :부여 데이터베이스 사용자 폴더에 액세스

SELECT * INTO OUTFILE '/tmp/result.csv' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\n' 
FROM getfreepellets WHERE 1 

을 그리고 난 다음 오류 얻을 :

#1045 - Access denied for user '[username]'@'localhost' (using password: YES) 

(제거 사용자 이름을 하지만 맞아)

서버에서 파일을 만들려면이 사용자에게 액세스 권한을 부여하는 방법은 무엇입니까?

편집 :

나는 내 정확한 홈 경로로 첫 선을 변경하고 같은 오류가 발생했습니다.

답변

5
당신은 사용자 FILE 권한 GRANT 할 수 있습니다

:

The FILE privilege gives you permission to read and write files on the server host using the LOAD DATA INFILE and SELECT ... INTO OUTFILE statements and the LOAD_FILE() function.

A user who has the FILE privilege can read any file on the server host that is either world-readable or readable by the MySQL server. (This implies the user can read any file in any database directory, because the server can access any of those files.) The FILE privilege also enables the user to create new files in any directory where the MySQL server has write access. As a security measure, the server will not overwrite existing files.

FILE 권한을 부여하려면 로그 - 인 루트로 및 실행 :

GRANT FILE ON *.* TO 'your_user'@'localhost'; 
+0

을 나는 기술 지원 채팅 라이브 해요 지금 당장 내 호스트를 위해. 나는 그들에게 당신의 대답을 연결시켰다. 대기 중 ... – hookedonwinter

+0

분명히 BlueHost가 공유 서버에서이 권한을 부여 할 수 없습니다. 참고하시기 바랍니다. 그러나 나는 당신이 옳다고 생각하고이 대답을 받아 들일 것입니다. 그리고 시간은 PHP 수출을 만들 수 있습니다. – hookedonwinter

+0

hookedonwinter : 받아 주셔서 감사합니다. 나중에 사용자가 FILE 권한을 가지고 있지 않을 때 오류 1045가 실제로 반환되는지 확인하기 위해 테스트 해 보겠습니다. –