데이터베이스를 만들고, 데이터베이스 내부에 있는 데이터를 다른 사용자에게 공유하고자 할 때, root 계정을 주는 방식으로 모든 권한을 넘길 수 있다. 하지만, 특정데이터베이스 혹은 특정 테이블에 대한 데이터 정보만 허용하게끔하고자 할때는 어떻게 해야할까? 아래의 방법대로 하게되면 간단하게 유저에 대한 접근 권한을 명령할 수 있다.
grant all privileges on DB명.table명 '계정명'@'%' identified by '비밀번호';
grant all privileges on mydb.mytable 'myaccount'@'%' identified by '123456';
DBeaver 혹은 HeidiSQL 같은 DB툴 내에 쿼리를 편집기를 키고, 해당 명령을 한 후 접속해보자.
아래 그림과 같이, mydb 라는 데이터베이스 내에, mytable에 대한 접근 권한이 생긴 것을 확인할 수 있다.
특정 데이터벵스 또는 테이블이 아니라, 모든 데이터베이스, 모든 테이블에 대한 접근권한을 허용하고 싶다면 * 를 적절하게 사용하면된다. 예시는 아래와 같다.
- 모든 데이터베이스 허용 예시
grant all privileges on *.* 'myaccount'@'%' identified by '123456';
- 특정 데이터베이스 모든 테이블 허용 예시
grant all privileges on mydb.* 'myaccount'@'%' identified by '123456';
728x90
'Language(R, Python, SQL) > SQL' 카테고리의 다른 글
[SQL] HackerRank - SQL Problem <easy> (0) | 2022.12.08 |
---|---|
[SQL] String 을 Date 형으로 변환 (0) | 2022.12.01 |
[SQL] Codility SQL exercise 3번 문제 (0) | 2022.11.29 |
[SQL] Codility SQL exercise 2번 문제 (0) | 2022.11.28 |