MySQL 5.7, 8.0 버전별 사용자 권한 정리
권한 설정
계정 생성 및 권한 부여
mysql 5.7
GRANT ALL PRIVILEGES ON DB_NAME.* TO USER_NAME@HOST_NAME IDENTIFIED BY 'USER_PW';
SQL
복사
mysql 8.+
# 사용자 추가
CREATE USER 'user'@'%' IDENTIFIED BY 'PASSWORD';
# 권한 설정
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
SQL
복사
권한 삭제
REVOKE ALL PRIVILEGES ON DB_NAME.* FROM USER_NAME@HOST_NAME;
SQL
복사
계정 설정 반영
FLUSH PRIVILEGES;
SQL
복사
실행 예제
DB명 dbname / 사용자명 userid / 접속 허용 호스트 - % / password passwd
새로운 사용자에게 권한 부여
# 데이타베이스 생성
CREATE DATABASE dbname;
# 새로운 사용자 추가 및 권한 (5.7)
GRANT ALL PRIVILEGES ON dbname.* TO userid@'%' IDENTIFIED BY 'passwd';
# 새로운 사용자 추가 및 권한 (8.+)
CREATE USER 'userid'@'%' IDENTIFIED BY 'passwd';
GRANT ALL PRIVILEGES ON *.* TO 'userid'@'%' WITH GRANT OPTION;
# 설정 반영
FLUSH PRIVILEGES;
SQL
복사
존재하는 계정에 DB를 추가할 경우..
# 다른 DB에 기존 사용자 추가
GRANT ALL PRIVILEGES ON 추가DB명.* TO userid@'%';
# 설정 반영
FLUSH PRIVILEGES;
SQL
복사
권한 삭제할 경우..
# 기존 사용자 권한 삭제
REVOKE ALL PRIVILEGES ON 추가DB명.* FROM userid@'%';
# 설정 반영
FLUSH PRIVILEGES;
SQL
복사
계정삭제
DROP USER userid@'%';
SQL
복사
ⓒ VeriCras 2024
vericras@gmail.com