[MySQL & MariaDB] 사용자 추가, 삭제, 권한 관리
# 사용자 정보는 MYSQL DB에 존재함
USE MYSQL;
# 사용자 정보 조회
SELECT * FROM USER;
# 사용자 추가(로컬용)
CREATE USER 'user'@'localhost' IDENTIFIED BY '비밀번호' ;
# 사용자 삭제
DROP USER 사용자명@호스트;
# 변경사항 적용(변경사항이 있으면 항상 적용해야함)
FLUSH PRIVILEGES;
# 권한
# 모든 권한 주기
GRANT ALL PRIVILEGES ON *.* TO 사용자명@호스트;
# 특정 사용자에게 특정 DB의 모든 권한 부여하기
GRANT ALL PRIVILEGES ON DBNAME.* TO 사용자명@호스트;
# 특정사용자에게 특정 DB의 모든 테이블에 SELECT, INSERT 권한 부여하기
GRANT SELECT, INSERT ON DBNAME.* TO 사용자명@호스트;
# 특정사용자에게 특정 DB의 특정 테이블의 정해준 컬럼에만 UPDATE 권한 부여하기
GRANT UPDATE(컬럼1,컬럼2,컬럼3) ON DBNAME.테이블명 TO 사용자명@호스트;
# 모든 호스트에서 접속가능하고 SELECT 권한만 갖는 사용자를 추가할 땐
GRANT SELECT ON DBNAME.* TO 사용자명@%;
# IP주소가 192.168.0.으로 시작하는 컴퓨터에서 접속가능한 사용자를 추가할 땐
GRANT ALL PRIVILEGES ON *.* TO 사용자명@'192.168.0.%';
# 모든 권한 삭제
REVOKE ALL PRIVILEGES ON *.* FROM 사용자명@호스트;
# USAGE (삭제하면 로그인조차 안됨) 권한 부여, 삭제(사용자 추가도 이걸로 됨)
# 부여
GRANT USAGE ON *.* TO 사용자명@호스트 IDENTIFIED BY '비밀번호';
# 삭제
REVOKE USAGE ON *.* FROM 사용자명@호스트;
# 권한 확인하기
SHOW GRANTS FOR 사용자명;