루트 계정 접속
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';
'IT > DB' 카테고리의 다른 글
[MySQL] MySQL Data import error (Error fetching schema list: Error executing 'SHOW DATABASES' Lost connection to MySQL server during query. SQL Error: 2013) (0) | 2021.02.02 |
---|---|
[MySQL] MySQL Data Import error (ERROR 1049 (42000): Unknown database 'DB명') (0) | 2021.02.02 |
[MYSQL] Workbench Dump (0) | 2021.01.19 |
[MYSQL] - AUTO_INCREMENT 초기화 (0) | 2020.10.21 |
[MYSQL] 데이터 입력시 물음표 나올 때 ?? (0) | 2020.10.13 |