1. 사용자 목록 보기
=> SELECT USER, HOST FROM mysql.user;
2. 사용자 만들기
1) 사용자 이름 user, 내부에서만 접속 가능, 비밀번호 1234
=> CREATE USER 'user'@'localhost' IDENTIFIED BY '1234'
2) 사용자 이름 user, 어디에서나 접속 가능, 비밀번호 1234
=> CREATE USER 'user'@'%' IDENTIFIED BY '1234';
3) 사용자 이름 user, 192.168.0.111에서 접속 가능, 비밀번호 1234
=> CREATE USER 'user'@'192.168.0.111' IDENTIFIED BY '1234';
4) 이미 존재하는 사용자 이름으로 다시 사용자를 만들경우 에러가 발생하는데, OR REPLACE를 붙이면 이미 존재하는 사용자 이름인 경우 기존 사용자를 삭제하고 다시 만들 수 있다
=> CREATE OR REPLACE USER 'user'@'localhost' IDENTIFIED BY '1234';
5) IF NOT EXISTS를 붙이면, 같은 이름의 사용자가 없을 때만 사용자를 추가한다.
=> CREATE OR REPLACE USER 'user'@'localhost' IDENTIFIED BY '1234';
3. 사용자 이름 변경하기
'user'@'localhost'를 'user2'@'%'로 변경
RENAME USER 'user'@'localhost' TO 'user2'@'%';
4. 사용자 비밀번호 변경하기
'user'@'localhost'의 비밀번호를 123456으로 변경
SET PASSWORD FOR 'user'@'localhost' = PASSWORD( '123456' );
5. 사용자 삭제하기
1) 'user'@'%' 삭제
DROP USER 'user'@'%';
2) 'user'@'%'가 존재하는 경우 삭제
DROP USER IF EXISTS 'user'@'%';
6. 권한 부여하기
1) user@localhost에게 test 테이터베이스의 모든 테이블에 대한 모든 권한 부여
GRANT ALL PRIVILEGES ON test.* TO 'user'@'localhost';
2) user@localhost가 가진 권한 출력
SHOW GRANTS FOR 'user'@'localhost';
7. 권한 제거하기
user@localhost가 test 데이터베이스에 가진 모든 권한을 제거
REVOKE ALL on test.* FROM 'user'@'localhost';