반응형
MYSQL을 outfile로 "액세스가 거부되었습니다."-내 사용자는 "모든"액세스 권한을 가지고 있고 CHMOD 777입니다.
어떤 아이디어?
SELECT * INTO OUTFILE '/home/myacnt/docs/mysqlCSVtest.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '*'
LINES TERMINATED BY '\n'
FROM tbl_property
WHERE managerGroupID = {$managerGroupID}
오류 :
Access denied for user 'asdfsdf'@'localhost' (using password: YES)
다음 SQL 명령을 실행 해 처리합니다.
> grant all privileges
on YOUR_DATABASE.*
to 'asdfsdf'@'localhost'
identified by 'your_password';
> flush privileges;
데이터베이스에 연결하는 데 문제가 있고 한 폴더에 쓰지 않는 것들이 있습니다.
또한 FILE
사용자 에게 부여했음을 확인하십시오 'asdfsdf'@'localhost'
.
> GRANT FILE ON *.* TO 'asdfsdf'@'localhost';
솔직히 나는 보조금을 다루지 갑자기 고 일시적 없이도 작동했습니다.
echo "select * from employee" | mysql --host=HOST --port=PORT --user=UserName --password=Password DATABASE.SCHEMA > output.txt
@fijaaron이 말했듯이,
GRANT ALL
암시하지 않는다GRANT FILE
GRANT FILE
만 작동*.*
그래서
GRANT FILE ON *.* TO user;
cP / WHM이 PHPMyAdmin에서 루트 권한으로 사용자 권한을 수정하는 기능을 제거하기 때문에 명령 줄을 사용하여 다음을 수행해야합니다.
mysql> GRANT FILE ON *.* TO 'user'@'localhost';
2 단계는 해당 사용자가 특정 폴더에 파일을 지정하는 것입니다. 앞으로 수행하는 몇 가지 방법이 결국 폴더를 넣었습니다.
/home/user/tmp/db
과
chown mysql:mysql /home/user/tmp/db
그러면 mysql 사용자가 파일을 찾을 수 있습니다. 이전 포스터에서 말했듯이 MySQL 임시 폴더도 사용할 수 있습니다. 정말 중요하지 않지만 세상이 데이터를 볼 수 없지 않는 한 0777 (세계 쓰기 가능) 만들고 싶지는. INTO OUTFILE
파일이 존재하면 작동하지 않습니다. 프로세스를 헹구고 반복하려는 경우 오류 가 있습니다. 다른 사용자가 파일을 소유 한 경우 시도 만하면 unlink($file)
작동하지 않습니다. 당신이 나와 같다면 (0777에 대한 편집증) 다음을 사용하여 디렉토리를 찾을 수 있습니다.
chmod($dir,0777)
SQL 명령을 수행하기 직전에
chmod($dir,0755)
바로 내부 unlink(file)
파일을 삭제합니다. 이렇게하면 웹 사용자가 모두 실행하고 mysql 사용자를 호출 할 필요가 없습니다.
반응형
'ProgramingTip' 카테고리의 다른 글
Rails에서 has_one과 belongs_to의 차이점은 무엇입니까? (0) | 2020.11.03 |
---|---|
HTML- 전체 DIV를 하이퍼 링크로 만드는 방법은 무엇입니까? (0) | 2020.11.03 |
Go에서 대소 문자를 구분하지 않는 정규식을 어떻게 수행합니까? (0) | 2020.11.03 |
잘못된 구성 개체입니다. (0) | 2020.11.03 |
Eclipse에서 XML 코드 형식 지정 (0) | 2020.11.03 |