프로그램 자료/MySQL & MariaDB

[MySQL & MariaDB] 사용자 추가, 삭제, 권한 관리

motolies 2018. 10. 10. 17:52

출처 : http://blog.opid.kr/237



use mysql;

CREATE DATABASE testDB;
-- 해당 db에 대한 모든 권한
GRANT ALL PRIVILEGES ON testDB.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
-- 전체 db에 대한 모든 권한
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
SELECT * FROM USER;
FLUSH PRIVILEGES;

DROP USER 'username'@'localhost';
SHOW GRANTS FOR 'username'@'localhost';



# 사용자 정보는 MYSQL DB에 존재함

USE MYSQL;

 

# 사용자 정보 조회

SELECT * FROM USER;

 

# 사용자 추가(로컬용)

CREATE USER 'user'@'localhostIDENTIFIED 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 사용자명;