[USER 권한 관리]
- 실습 환경을 먼저 만들어 줍시다.
CREATE DATABASE testdb; # 디비 생성
SHOW DATABASES; # 만든 디비 확인
CREATE USER 'scone'@'localhost' identified by '1234'; # 유저 생성
USE mysql; # 유저 정보가 있는 mysql 디비 사용
SELECT host, user from users; # 생성한 유저 확인
유저가 잘 만들어져 있습니다.
- 사용자의 권한을 확인합니다.
SHOW GRANTS FOR 'scone'@'localhost';
현재 localhost로 접근 가능한 scone의 권한이 들어 있습니다.
- 생성한 디비, testdb에 대한 권한을 scone에게 주겠습니다.
GRANT ALL ON testdb.* to 'scone'@'localhost';
권한 전부를 준다. testdb의 모든 것을, 로컬호스트로 접근가능한 스콘에게
- 권한이 어떻게 부여됐나 보겠습니다.
SHOW GRANTS FOR 'scone'@'localhost'
GRANT ALL PRIVILEGES ON 'testdb'.*
라는게 추가되었다.
- 권한을 삭제하겠습니다.
REVOKE ALL ON 'testdb'.* from 'scone'@'localhost';
scone 이라는 계정으로부터 testdb의 모든 권한을 줬던 것을 전부 다시 되돌립니다.
권한이 지워진 것을 볼 수 있습니다.
- 만약 수정사항이 보이지 않는다면 새로고침 해줍니다.
FLUSH PRIVILEGES;
[정리]
SHOW GRANTS FOR 'scone'@'localhost'; # 유저에게 주어진 권한 확인
GRANT ALL ON testdb.* to 'scone'@'localhost'; # testdb에 있는 모든 권한을 유저에게 부여
REVOKE ALL ON testdb.* from 'scone'@'localhost'; # testdb의 모든 권한을 유저로부터 회수
FLUSH PRIVILEGES; # 새로고침
* 는 보통 모든 것 을 의미한다.
데이터 베이스의 이름은 ' ' 로 감싸지 않아도 된다.
'sql' 카테고리의 다른 글
[mysql] TABLE 수정 ( ALTER ) (0) | 2022.06.23 |
---|---|
[mysql] TABLE 만들기 (0) | 2022.06.23 |
[mysql] user 생성, 삭제 (0) | 2022.06.23 |
[mysql] 데이타베이스 만들기 삭제하기 (0) | 2022.06.23 |
[mysql] 데이타베이스 (0) | 2022.06.23 |