mariaDB

MariaDB / 사용자 만들기, 사용자 삭제하기, 권한 부여하기, 권한 제거하기

xemaker 2020. 4. 23. 20:35

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)

출처: https://www.codingfactory.net/11336