내가 필요해서 내가 적는 블로그

JAVA 백엔드 개발자의 기록들

DB

MariaDB 계정 생성, 조회, 비밀번호 변경, 권한 조회, 권한 변경

돌프 2021. 9. 28. 14:26
반응형

DB 사용자 계정을 만들어 보자

 

★ 계정 생성

CREATE USER 'iniw'@'%' IDENTIFIED BY 'password';

CREATE USER 'iniw'@'localhost' IDENTIFIED BY 'password';

CREATE USER 'iniw'@'192.168.0.1' IDENTIFIED BY 'password';

 

 * 계정은 'ID'@'Host' 의 형식으로 ID+접속자의 Host 정보로 이루어 진다.   

 * % → 모든접속허용 /  localhost → DB가 설치된 서버에서만 접속 가능 / '192.168.0.1' → 특정IP에서 접속 가능  

 * 위의 사진은 1개의 동일 ID 이지만, DB에 접속하는 곳의 Host에 따라 3개의 유니크한 계정으로 볼 수 있다.

 

★ 계정 조회

SELECT * FROM mysql.user;

 * iniw 계정이 3개 생성 된 것을 확인할 수 있다. 각종 권한이 빠져 있으니 권한을 넣어보자.

 

★ 계정 권한 부여

  * 전체 권한 주기

GRANT ALL PRIVILEGES ON 'DB이름'.* TO 'iniw'@'%';

   - 해당 DB에 대한 모든권한을 다준다 → 누구에게 ? iniw(모든곳에서 접속하는) 유저에게

 

  * 특정 테이블만 조회 하도록 권한 주기

GRANT SELECT ON DB이름.TABLE이름 TO 'iniw'@'%';

 

  * 위 사진의 계정별 사용가능 여부 설정

UPDATE mysql.user SET Select_priv='Y' WHERE USER='iniw' AND HOST ='%';

   - 계정별 SELECT / INSERT / VIEW테이블 보기 등 기능항목별 설정

 

★ 계정 권한 회수 (전체)

REVOKE ALL ON DB이름.* FROM 'iniw'@'%';

 

★ 계정 권한 조회

SHOW GRANTS FOR iniw;

 

★ 유저 삭제

DROP USER 'iniw'@'%';

 

★ 계정 비밀번호 변경

ALTER USER 'iniw'@'%' IDENTIFIED BY 'password';

UPDATE USER SET authentication_string=password('password') WHERE USER='iniw';

   - 둘 중 하나를 골라 쓰면 될 듯 하다. 

 

각 항목 실행 후 반드시 FLUSH PRIVILEGES; 할 것

끝.

 

 

본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요. 

정보 공유를 위한 포스팅에 큰 힘이 됩니다. 

만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다. 

읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요. 

반응형