IT/DB
[MySQL] Ubuntu Server MySQL User
saii42
2021. 2. 2. 12:34
루트 계정 접속
mysql -u root -p
user 테이블 확인
mysql> use mysql;
mysql> select user, host from user
user 추가
mysql> create user '사용자 이름 입력하세요'@'localhost(또는 %)' identified by '비밀번호 입력';
'localhost' or '%' or 'IP' : localhost는 해당 pc만 접속 , %는 외부의 모든 접속 가능, IP는 해당 IP만 접속 가능하다.
user 삭제
mysql> drop user '사용자명 입력'@'localhost';
해당 user의 접속 권한 또한 똑같이 입력해야 한다.
user DB 권한 부여 (Grant)
mysql> grant all privileges on *.* to '사용자'@'localhost';
mysql> grant all privileges on DB이름.* to '사용자'@'localhost';
mysql> grant all privileges on DB이름.테이블명 to '사용자'@'localhost';
mysql> grant select on DB이름.테이블명 to '사용자'@'localhost';
mysql> grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';
1번 라인은 모든 DB, DCL을 제외한 권한을, 2번 라인은 특정 DB 권한 및 DCL을 제외한 권한을, 3번 라인은 특정 DB의 테이블에 대한 권한 4번 라인은 DB의 테이블에 대한 select 권한 5번 라인은 DB의 테이블에 대한 특정 컬럼 수정 권한이다.
이렇게 특정 DB의 권한을 줄 수도 있고 select, delect 등의 특정 권한만 줄 수도 있다.
all privieges는 모든 권한을 , *.*는 모든 DB의 모든 테이블을 뜻한다.
정리해보면 grant (권한) on (범위) to (user) 이렇게 정리할 수 있겠다.
1번 라인에 with grant option 을 맨 끝에 추가하면 권한 부여(ROOT 권한)을 부여한다.
user 권한 삭제 (Revoke)
이 부분은 Grant와 구조가 같다. 응용해서 특정 조건을 삭제할 수 잇다.
mysql> revoke all on DB명* from 'user'@'localhost';
user 권한 확인
mysql> show grants for 'user'@'localhost';
728x90