0. tl; dr

MySQL/MariaDB 계정 생성

MySQL 사용자 생성 문법

CREATE USER '아이디'@'접속대역' IDENTIFIED  BY '패스워드';

예시

CREATE USER 'kiwinam'@'localhost' IDENTIFIED BY 'PassWord123';
GRANT ALL PRIVILEGES ON *.* TO 'kiwinam'@'localhost' WITH GRANT OPTION;




1. MySQL 로그인

mysql -u root -p

사용자 계정을 추가하기 위해서는 root 계정으로 로그인 해야합니다.



2. 생성된 계정 확인

이미 생성되어 있는 계정들을 확인하고 싶은 경우 아래와 같이 입력하면 됩니다.

use mysql;
select user, host from user;

Select user, host from user

이렇게 MySQL 에 어떤 사용자 계정이 있는지 확인할 수 있습니다.



3. 계정 생성

CREATE USER 'kiwinam'@'localhost' IDENTIFIED BY 'PassWord123';
CREATE USER 'kiwinam'@'%' IDENTIFIED BY 'PassWord123';

show grants for 'kiwinam'@'localhost'

호스트가 localhost 인 경우는 로컬에서만 접근 가능한 계정이고,

% 인 경우는 외부의 모든 호스트에서 접근을 허용합니다.

특정 호스트만 허용하기 위해 아이피로 설정할 수도 있습니다.



4. 권한 설정

생성한 계정에 어떤 데이터베이스에 접근할 수 있을지 권한을 설정해줘야합니다.

생성된 뒤 데이터베이스에 아무런 권한을 허용받지 못한 계정으로는 작업을 진행할 수 없습니다.

그럼 권한을 추가해보도록 하겠습니다.

# 권한 설정 문법
# GRANT ALL PRIVILEGES ON '데이터베이스'.'테이블' TO '유저'@'호스트' WITH GRANT OPTION;

# 모든 데이터베이스에 kiwinam 계정 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'kiwinam'@'localhost' WITH GRANT OPTION;

# blog 데이터베이스에 kiwinam 계정 권한 부여
GRANT ALL PRIVILEGES ON blog.* TO 'kiwinam'@'localhost' WITH GRANT OPTION;

# 변경된 모든 권한들을 적용
FLUSH PREVILEGES;

GRANT 명령어로 데이터베이스의 권한을 설정해준 다음에는 꼭 FLUSH PREVIELEGERS 명령어를 통해 변경된 사항을 적용해줘야합니다.


4-1. 권한 확인하기

# 문법
SHOW GRANTS FOR '아이디'@'호스트'

# kiwinam@localhost 의 부여된 권한 확인하기
SHOW GRANTS FOR 'kiwinam'@'localhost'

show grants for 'kiwinam'@'localhost'



5. 계정 삭제

계정 삭제는 너무나도 간단합니다.

# 삭제 문법
DROP USER '사용자'@'호스트'

# kiwinam 계정 삭제하기
DROP USER 'kiwinam'@'localhost'



여기까지 MySQL 과 MariaDB 에서 사용자의 추가, 삭제 그리고 권한 설정을 어떻게 하는지에 대해 포스팅 했습니다.

추가적으로 질문이 있거나 제대로 실행이 되지 않는 분들은 아래 댓글 남겨주시면 됩니다.

최대한 빠르게 답변해드리려고 노력하겠습니다.

그럼 다음 포스팅에서 뵙겠습니다.