MySQL 테이블의 데이터를 파일로 출력하려고하지만 권한 오류가 발생합니다.
$ pwd
/home/dotancohen
$ mkdir in
$ chmod 777 in/
$ mysql -ugs -p
mysql> USE someDatabase;
mysql> SELECT * FROM data INTO OUTFILE '/home/dotancohen/in/data.csv';
ERROR 1045 (28000): Access denied for user 'gs'@'localhost' (using password: YES)
mysql>
문제의 디렉토리가 777로 chmodded되면 왜 MySQL 사용자가 파일을 쓸 수 없습니까? 흥미롭게도 / tmp /에도 쓸 수 없습니다.
편집 : DB 사용자에게 적절한 MySQL 권한이있는 것처럼 보입니다.
mysql> show grants;
+----------------------------------------------------------------------------------+
| Grants for gs@localhost |
+----------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'gs'@'localhost' IDENTIFIED BY PASSWORD 'somePassword' |
| GRANT ALL PRIVILEGES ON `gs\_%`.* TO 'gs'@'localhost' |
+----------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
SELECT
권한이 있습니다. 나는 종종이 사용자로서 데이터베이스를 탐색한다.
in
MySQL이 액세스 할 수없는 경우 권한 부여 는 의미가 없습니다dotanchoen
. 즉, 은행 금고의 안전 퇴장 상자를 넓게 열 수 있지만 은행 금고 문이 잠겨 있으면 상자에 들어 가지 않습니다. 귀하의gs
사용자는 또한 MySQL을해야합니다FILE
실제로 쿼리를 실행하는 권한을.