내 MySQL 데이터베이스에 액세스 할 수있는 사용자가 몇 명 있습니다. 나는 권한을 취소하려하고 있지만 그것에 대해 어떻게 해야할지 잘 모르겠습니다.모든 데이터베이스를 볼 수있는 MySQL 사용 권한
예 : 내 서버의 모든 데이터베이스에 액세스 할 수있는 bob
사용자가 있습니다. 나는이 bob
있는 권한을 확인하려면 다음을 실행
mysql -e "select * from information_schema.user_privileges;" | grep bob
'bob'@'%' def SELECT NO
'bob'@'%' def INSERT NO
'bob'@'%' def UPDATE NO
'bob'@'%' def DELETE NO
'bob'@'%' def CREATE NO
'bob'@'%' def FILE NO
'bob'@'%' def CREATE USER NO
아무것도 GRANT
, ALL
또는 SUPER
처럼 점프 없습니다. 새 데이터베이스 sometest
을 만들고 bob
님의 계정으로 전환하면 bob
은 sometest
에 액세스 할 수 있습니다. 내가 여기서 무엇을 놓치고 있는지 확실하지 않습니다.
편집 : 나는 SHOW GRANTS FOR 'bob'@'%';
를 실행하고 참조 :
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN,
PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES,
LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW,
CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
ON *.* TO 'bob'@'%'
1) 한 방울이 권한을 수행하는 방법?
REVOKE SELECT, INSERT,... on *.* to 'bob'@'%';
내가 일하지 않으려는
GRANT ALL ON bobsdb.* TO 'bob'@'%';
같은 권한을 제거합니다 : 난 실행하면 가정합니다. 하지만 모든 권한을 제거하고 처음부터 다시 빌드하는 것이 가장 좋습니다.
2) 이와 같이 모든 권한을 어떻게 식별합니까? 모든 사용자를 살펴야합니까?
감사! 이것은 문제가 아니지만 문제를 파악하는 데 도움이되었습니다. 편집을 참조하십시오. – Sal
본인은 이후 질문에 대한 답변을 포함하도록 본문을 수정했습니다. –