루트 계정 접속

 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';

 

+ Recent posts