example이라는 테이블이있는 경우. 그리고 SELECT, INSERT 등의 권한을 subject1, subject2, subject3에 부여합니다. 그러면 내가 어떻게 테이블의 소유자로서 내가 모범으로 보여준 모든 사람과 그들의 특권을 볼 수 있습니까?전체 테이블에 대해 모든 사용자와 해당 "보조금"을 어떻게 볼 수 있습니까?
0
A
답변
0
사용자 및 권한에 대한 MySql 스키마는 사용자가 얻고 자하는 깊이에 따라 매우 복잡합니다.
users 테이블에서 모든 사용자를 찾을 수 있습니다 (사용 권한이 부여되었습니다).
select * from users
join tables_priv on users.user = tables_priv.user
를 적어 둡니다 당신이 원하는 더 많은 정보, 더 당신이 확장해야 함 : tables_priv and columns_priv
그래서 당신이 뭔가를 원할 것 : 그리고 당신은 테이블/두 열에서 열 권한을 찾을 수 있습니다 질문.
당신은mysql
데이터베이스에
tables_priv
테이블에 대해 쿼리를 실행할 수
1
:
SELECT p.User
, p.Host
, p.Table_priv
, p.Grantor
FROM mysql.tables_priv p
WHERE p.Db = 'mydatabase'
AND p.Table_name = 'example'
ORDER by 1,2,3
이 권한은 전체 데이터베이스에 부여 된 경우, 테이블에 권한이있는 모든 사람이 아닌 예를 들면,
GRANT SELECT ON mydatabase.* TO [email protected]'%'
그 권한은 mysql
데이터베이스에 db
테이블에있을 것입니다. 모든 데이터베이스에서 사용자에게 부여 된 전역 권한은 user
테이블에 있습니다.
나는 당신이 mysql 문서를 읽을 것을 제안한다. 그것은 꽤 장황하다. –