IT기술/MySQL

MySQL 사용자 관리 (생성, 삭제, 권한 부여)

dobbby 2023. 5. 26. 18:23
반응형

1. 현재 사용자 목록 보기
mysql> use mysql;
mysql> select User,Host from user;

 

2. 사용자 권한 보기

mysql> SHOW GRANTS FOR 'username'@'ip정보'

 

3. 사용자 생성
CREATE USER username@localhost IDENTIFIED BY 'userpassword'

 

* CREATE USER를 통한 사용자 생성이 안될 경우
mysql - ERROR 1396 (HY000): Operation CREATE USER failed for 'user명'@'localhost' 
먼저 생성하려던 사용자를 drop 하고 재시도 해본다.

이 현상이 나타나는 이유는, CREATE USER/GRANT 명령으로 사용자와 권한을 추가/관리해야 하는데 

mysql.db, mysql.user 테이블을 직접 조작하다가 일관성이 깨졌기 때문이다. 

가급적 mysql의 계정/권한 테이블에 대한 직접 조작은 하지 말아야 한다.


4. 권한 부여 (필요한 권한만 부여하기)
GRANT SELECT,INSERT,UPDATE,DELETE ON dbname.* TO 'username'@'localhost';

 

* 전체 권한 부여하기 

GRANT ALL privileges ON DB명.* TO 계정명@'%' IDENDITIFIED BY '비밀번호';

5. 권한 회수하기
REVOKE CREATE,DROP,ALTER,CREATE VIEW,ALTER ROUTINE,CREATE ROUTINE
ON dbname.*
FROM 'user'@'%';

 

5. 불필요한 사용자 삭제
mysql> DELETE FROM USER WHERE USER='username';
mysql> FLUSH PRIVILEGES;

반응형