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;