MySQL 사용자 권한 수정

지수·2025년 3월 12일

오류해결

목록 보기
2/7
post-thumbnail

프로젝트 협업을 위해 친구와 mysql workbench에서 연동하는 중
공유하려던 schema뿐만 아니라, 나의 모든 schema가 친구에게 공유되는 문제가 발생하였다

문제를 해결하기 위해 먼저 cmd에 들어가 mysql에 접속한다

mysql -u root -p

1. 사용자의 현재 권한 확인

SHOW GRANTS FOR 'user'@'%';

문제가 있었던 user라는 계정이
현재 어떤 권한을 가지고 있는지를 확인 할 수 있는 코드이다

위 문장이 있다면 모든 DB에 접근 가능한 상태이다.

2. 모든 DB에 대한 권한 제거

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'%';

모든 데이터베이스에 대한 권한을 제거하는 코드이다

위의 코드를 사용하면 user의 모든 권한을 제거 할 수 있다

3. gullap 스키마만 접근 허용

GRANT ALL PRIVILEGES ON `gullap`.* TO 'user'@'%';

user 계정에 gullap 데이터베이스의 접근만 허용하는 코드이다

위의 코드를 사용하면 user 계정이 gullap 데이터베이스만 사용할 수 있다
만약 읽기 전용 권한만 주고 싶다면 ALL PRIVILEGES 대신 SELECT 같은 권한만 주면 된다

  • ALL PRIVILEGES : 모든 권한을 줌 (gullap에 대한 모든 권한)

4. 변경 사항 적용

FLUSH PRIVILEGES;

마지막으로 위의 코드를 사용하면 권한이 다시 설정된다

다음과정을 다 마치고 다시 접속해보면

이렇게 gullap만 표시되는 것을 볼 수 있다

어렵게만 생각했던 DB연결이었는데 다른 분들의 글을 참고하니 빠르게 성공 할 수 있었다!
DB연결에 참고한 글 : https://we-always-fight-with-code.tistory.com/6

profile
개발자 꿈나무 여고생

0개의 댓글