본문 바로가기
DATABASE/MariaDB

[MariaDB] 무작정 시작하기 (3) - 유저 및 권한 관리

by 허도치 2020. 8. 7.

2020/08/07 - [DATABASE/MariaDB] - [MariaDB] 무작정 시작하기 (1) - 설치 및 실행

2020/08/07 - [DATABASE/MariaDB] - [MariaDB] 무작정 시작하기 (2) - DATABASE 명령어

 

 

 

시작하기전에

  지난 시간에는 DATABASE를 생성했는데, 아직까지 이 DATABASE를 사용할 수 있는 USER는 root 밖에 없다. root를 실제로 사용하는 것은 보안에 매우 취약한 일이기 때문에 USER를 생성해서 사용하는 것이 바람직하다. 그래서, 이번 포스트에서는 '모든 권한'을 가진 사용자를 생성하는 방법에 대해서 알아보도록 하겠다.

 

 

 

1. USER 목록 조회
1-1. SQL
USE MYSQL;

SELECT HOST
     , USER
     , PASSWORD
  FROM USER;

또는

SELECT HOST
     , USER
     , PASSWORD
  FROM MYSQL.USER;

 

1-2. 조회 결과

 

 

 

2. USER 생성
2-1. 사용법
-- 이미 생성된 계정일 경우 오류 발생
CREATE USER '<USER명>'@'<HOST>'
IDENTIFIED BY '<PASSWORD>';
-- 이미 생성된 계정일 경우, 수정
CREATE OR REPLACE USER '<USER명>'@'<HOST>'
IDENTIFIED BY '<PASSWORD>';
-- 이미 생성된 계정일 경우, 생성하지 않음
CREATE IF NOT EXISTS USER '<USER명>'@'<HOST>'
IDENTIFIED BY '<PASSWORD>';

- 이외에 세부 옵션을 사용하고자 한다면 공식 문서를 참조.

 

2-2. 예제
-- 로컬에서만 접속 가능한 계정.
CREATE OR REPLACE USER 'dochi'@'localhost' IDENTIFIED BY 'dochi';
-- 외부에서 접속 가능한 계정.
CREATE OR REPLACE USER 'dochi'@'%' IDENTIFIED BY 'dochi';

 

2-3. 실행 결과

 

 

 

3. 유저 삭제
3-1. 사용법
DROP USER '<USER명>'@'<HOST>';

 

3-2. 예제
DROP USER 'dochi'@'localhost';
DROP USER 'dochi'@'%';

 

3-3. 실행결과

 

 

 

4. 권한 조회
4-1. 사용법
SHOW GRANTS [FOR '<USER명>'@'<HOST>'];

- 현재 접속한 USER의 권한 목록을 출력.

- FOR~: 특정 USER의 권한 목록을 출력.

 

4-2. 예제
SHOW GRANTS FOR 'dochi'@'localhost';
SHOW GRANTS FOR 'dochi'@'%';

 

4-3. 실행결과

 

 

 

5. 권한부여
5-1. 사용법
GRANT [<권한목록>,] ON <DATABASE명>.<TABLE명> TO '<USER명>'@'<HOST>';

- 이외에 세부 옵션은 공식 문서를 참조.

 

5-2. 예제
-- 권한 부여
GRANT ALL PRIVILEGES ON DOCHI_DEV.* TO 'dochi'@'localhost';
GRANT ALL PRIVILEGES ON DOCHI_DEV.* TO 'dochi'@'%';
-- 권한 적용
FLUSH PRIVILEGES;

 

5-3. 실행결과

 

 

 

6. 권한 해제
6-1. 사용법
REVOKE [<권한목록>,] ON <DATABASE명>.<TABLE명> FROM '<USER명>'@'<HOST>';

 

6-2. 예제
-- 권한 해제
REVOKE ALL PRIVILEGES ON DOCHI_DEV.* FROM 'dochi'@'localhost';
REVOKE ALL PRIVILEGES ON DOCHI_DEV.* FROM 'dochi'@'%';

-- 권한 적용
FLUSH PRIVILEGES;

 

6-3. 실행결과

 

 

 

마치며

  - 여기까지 MariaDB에서 DATABASE를 생성하고 USER를 생성하는 방법을 알아보았다. 이제부터는 생성된 USER로 접속하여 TABLE을 생성하면 MariaDB를 사용할 준비가 완료된다.

  - 다음 포스트에서는 TABLE을 생성하고 데이터를 CRUD하는 방법에 대해서 알아보도록 하자.

댓글