새소식

MySQL & Maria

[MySQL] MySQL User 생성 & 권한 부여

  • -
반응형

MYSQL SERVER를 사용하다 보면 고객사에서 DB USER를 생성해달라는 요청이 가끔 올 때가 있다.

오늘은 MYSQL SERVER에서 USER를 생성하고 권한부여 / 회수에 대해 써볼 생각이다.

 

 

User 생성

 

# CREATE USER 'USER명'@'HOST' IDENTIFIED BY 'PASSWORD';

# CREATE USER 'LEE'@'192.168.0.%' IDENTIFIED BY 'LEE';
* host는 클래스나 특정 IP로 설정 할수 있으면 해당 host의 IP만 LEE User로 접속이가능하다.

# select user,host from mysql.user;
+---------------+-------------+
| user          | host        |
+---------------+-------------+
| maxscale      | %           |
| repl          | %           |
| LEE           | 192.168.0.% |
| mysql.session | localhost   |
| mysql.sys     | localhost   |
| root          | localhost   |
+---------------+-------------+

 

User 삭제

 

# DROP USER 'USER명'@'HOST';

# DROP USER 'LEE'@'192.168.0.%';

# select user,host from mysql.user;
*  위에 있는것과 비교해보면 'lee'@'192.168.0.%' User가 삭제된 것을 볼 수 있다.
+---------------+-----------+
| user              | host      |
+---------------+-----------+
| maxscale       | %         |
| repl              | %         |
| mysql.session  | localhost |
| mysql.sys       | localhost |
| root             | localhost |
+---------------+-----------+

 

권한 부여

- 생성한 사용자에게 권한을 주어야 DML / DDL 등이 가능하게된다. 

 

* mysql 권한 URL  https://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-overview

 

MySQL :: MySQL 5.7 Reference Manual :: 13.7.1.4 GRANT Statement

13.7.1.4 GRANT Statement GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user [auth_option] [, user [auth_option]] ... [REQUIRE {NONE | tls_option [[AND] tls_option] ...}] [WITH {GRANT OPTION | resource_opt

dev.mysql.com

# GRANT [ 권한 ] ON [DB명].[TABLE명] TO [USER명]@[HOST명];

# GRANT ALL PRIVILEGES ON *.* TO 'LEE'@'192.168.0.%' ;
* 'LEE'@'192.168.0.%' User에게 모든 DB의 모든 Table에 대해 모든 권한을 주겠다.

# SHOW GRANTS FOR 'LEE'@'192.168.0.%' ;
* 'LEE'@'192.168.0.%' User 권한 조회
+-------------------------------------------------------------+
| Grants for LEE@192.168.0.%                                    |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'LEE'@'192.168.0.%' |
+-------------------------------------------------------------+

 

권한 회수

 

# REVOKE [ 권한 ] ON [DB명].[TABLE명] FROM [USER명]@[HOST명];

# REVOKE ALL PRIVILEGES ON *.* FROM 'LEE'@'192.168.0.%';

 

반응형

'MySQL & Maria' 카테고리의 다른 글

[MySQL] Connection 파라미터 설정  (0) 2021.09.08
MySQL 백업 & 복구 ( mysqldump )  (0) 2021.08.25
Slow Query 분석 Website  (0) 2021.08.24
[MySQL] RENAME DATABASE  (0) 2021.08.10
Query Cache  (1) 2021.08.05
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.