내 SELECT ... INTO OUTFILE
문에 일부 사용 권한 문제가 있습니다.MySQL에서 작성/쓰기 권한
내 데이터베이스에 로그인하여 간단한 내보내기 명령을, 예를 들면 : 그러나
ERROR 1 (HY000):
Can't create/write to file '/home/mropa/Photos/Desktop/TEST.txt'
(Errcode: 13)
, 단순히 쓰기 :
mysql> select * from XYZ into outfile 'TEST.txt';
Query OK, 8287 rows affected (0.73 sec)
mysql> select * from XYZ into outfile '/home/mropa/Photos/Desktop/TEST.txt';
가 나는 응답을 얻을
파일은 /var/lib/mysql/XYZ
디렉토리에 기록됩니다. /etc/apparmor.d/usr.sbin.mysqld
mysql이 읽기 및 쓰기 권한을 정의하는 것으로 보이지만 실제로 수정하는 방법을 모르겠습니다.
내가 좋아하는 디렉토리에 mysql 테이블을 내보낼 수있는 권한을 어떻게 부여 할 수 있습니까?
@dnagirl 보통 mysql -u mropa -p 명령으로 mysql을 시작하므로 사용자는 쓰기 권한이 있어야하는 'mropa'입니다. 대답을 조금 더 자세히 설명해 주시겠습니까? 완전히 이해하지 못합니다. 감사. – mropa
@mropa : mysql -u mropa -p를 할 때 mysqld 프로세스를 시작하지 않는다. 당신은 그것에 로그인하고 있습니다. outfile에 쓸 때, 쓰는 로그인 사용자가 아니라면, 그것은 mysqld 프로세스이다. mropa로 쉘에 로그인 한 다음 mysql에 mydb_user로 로그인한다고 가정 해보십시오. mysql에서 outfile에 쓸 때 mropa 나 mydb_user는 글을 쓰고 있지 않습니다. 작성자는 mysqld 프로세스의 소유자이다. – dnagirl
도움이 되셨습니다. 감사합니다! – mropa