하나의 데이터베이스에만 파일 허용
john mysql 사용자에 대해 LOAD DATA 명령을 허용하고 싶습니다.그래서 나는 mysql terminal에 root로 로그인했고 다음과 같은 성명서를 발표했습니다.
grant file on johndatabase.* to 'john'@'localhost';
하지만 다음과 같은 오류가 발생했습니다.
ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
대체할 경우johndatabase.*
와 함께*.*
그러면 모든 것이 작동합니다.하지만 그렇지 않습니다.*.*
모든 데이터베이스를 의미합니까?john mysql 사용자를 john 데이터베이스로만 제한하고 싶습니다.
단일 데이터베이스에 대해서만 FILE 권한을 부여할 수 없습니다.그것은 논리적으로 말이 안 됩니다.문서에서 말하는 것을 고려해 보십시오.
FILE 권한은 LOAD DATA INFILE 및 SELECT ... IN OUTFILE 문 및 LOAD_FILE() 함수를 사용하여 서버 호스트에서 파일을 읽고 쓸 수 있는 권한을 부여합니다.FILE 권한이 있는 사용자는 MySQL 서버에서 읽을 수 있거나 읽을 수 있는 서버 호스트의 모든 파일을 읽을 수 있습니다. (서버가 이러한 파일에 액세스할 수 있기 때문에 사용자가 데이터베이스 디렉토리의 모든 파일을 읽을 수 있음을 의미합니다.
따라서 FILE 권한은 글로벌 권한입니다.서버의 모든 파일에 영향을 미치며 글로벌 명령(예: 글로벌 명령)에만 액세스할 수 있습니다.LOAD DATA INFILE
등), 데이터베이스로 범위가 지정되지 않았습니다.FILE 권한을 부여하는 유일한 방법은 다음 구문을 사용하는 모든 데이터베이스에 대한 것입니다.
GRANT FILE ON *.* TO 'john'@'localhost';
FILE 권한을 사용하면 mysql 서버가 액세스할 수 있는 파일 시스템에 대한 액세스 권한을 사용자에게 부여할 수 있습니다.따라서 사용자가 파일 시스템 수준의 모든 데이터베이스에 액세스할 수 있으므로 특정 데이터베이스로 제한하는 것은 유용하지 않습니다.그렇기 때문에 설정할 수 있습니다.*.*
.
언급URL : https://stackoverflow.com/questions/13552206/grant-file-on-just-one-database
'programing' 카테고리의 다른 글
IDLE 대화형 셸에서 파이썬 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.07.31 |
---|---|
@Inspectable with enum? (0) | 2023.07.31 |
1:1 연결 테이블 및 CTE(예: 사용자 및 그룹에 대한 권한)를 사용하여 다른 행과 연결된 SQL 행 찾기 (0) | 2023.07.31 |
Intellij Idea 경고 - "반환된 약속은 무시됩니다" 및 aysnc/wait (0) | 2023.07.31 |
Java의 mariadb 커넥터가 다른 언어의 커넥터보다 mariadb에 더 빨리 연결되는 이유는 무엇입니까? (0) | 2023.07.31 |