MariaDB / 사용자 만들기, 사용자 삭제하기, 권한 부여하기, 권한 제거하기
db 사용 및 개발을 하다보면 새로운 db를 만들어서 사용해야할 일이 생긴다.
그럴때는 먼저 db를 만들고 테이블 스키마를 만든다.
그런 다음 기존 사용자가 그 새로운 db를 사용하기 위해서는 권한을 줘야 한다.
권한을 주지 않으면 사용할 수가 없다.
(머 .. 당연한 말인가.. 머 당연한것도 안할때가 있지...)
그래서 기존 사용자에게 신규 db 사용권한을 줘야 하고 그 방법을 알기 쉽게 살펴보면
aaa라는 사용자가 있고 bbb라는 신규 db가 있다고 치자
use mysql;
show grants for 'aaa'@'%';
해보면 권한이 없을 것이다.
grant all privileges on bbb.* to 'aaa'@'%';
flush privileges;
이렇게 한다음
show grants for 'aaa'@'%'
해보면
GRANT ALL PRIVILEGES ON 'bbb'.* TO 'aaa'@'%' WITH GRANT OPTION
이런식으로 1줄이 생성되어 있는 것을 볼 수 있을 것이다.
사용자 만들기
사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234
MariaDB [(none)]> create user 'jb'@'localhost' identified by '1234'; Query OK, 0 rows affected (0.00 sec) |
사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234
MariaDB [(none)]> create user 'jb'@'%' identified by '1234'; Query OK, 0 rows affected (0.00 sec) |
사용자 목록 보기
mysql 데이터베이스 사용
MariaDB [(none)]> use mysql; |
Host, User 출력
MariaDB [mysql]> select Host, User from user; +-----------+------+ | Host | User | +-----------+------+ | % | jb | | localhost | jb | | localhost | root | +-----------+------+ 3 rows in set (0.00 sec) |
사용자 삭제하기
MariaDB [mysql]> drop user 'jb'@'%'; Query OK, 0 rows affected (0.00 sec) |
권한 부여하기
jb@localhost에게 test 데이터베이스의 모든 테이블에 대한 모든 권한 부여
MariaDB [(none)]> grant all privileges on test.* to 'jb'@'localhost'; Query OK, 0 rows affected (0.00 sec) |
jb@localhost가 가진 권한 출력
MariaDB [(none)]> show grants for 'jb'@'localhost'; |
권한 제거하기
jb@localhost가 test 데이터베이스에 가진 모든 권한을 제거
MariaDB [(none)]> revoke all on test.* from 'jb'@'localhost'; Query OK, 0 rows affected (0.00 sec) |