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; 할 것
끝.
본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요.
정보 공유를 위한 포스팅에 큰 힘이 됩니다.
만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다.
읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요.
'DB' 카테고리의 다른 글
Cause: java.sql.SQLException: Disk full (0) | 2021.11.30 |
---|---|
MySQL error 1040 "Too many connections" & Increase max connections 에러 해결 (0) | 2021.09.30 |
MySQL , MariaDB 쿼리 로그 보기 (0) | 2021.09.30 |
MySQL 접속 원리에 관한 고찰(feat. 프로젝트) (0) | 2021.09.29 |
cmd MySQL 접속하기 !! (0) | 2021.09.29 |