사용자 확인, 사용자 추가
▶ 사용자 확인
mysql> use mysql;
mysql> select user, host from user;
▶ 사용자 추가
로컬접근 허용
mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
-> values ('localhost','사용자명',password('비밀번호'),'','','');
외부접근 허용
mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
-> values ('%','사용자명',password('비밀번호'),'','','');
▶ 사용자 삭제
mysql> drop user 사용자명@호스트;
▶ 변경사항 적용
mysql> flush privileges;
사용자 데이터베이스 권한 부여, 박탈(삭제)
*grant 문을 이용하면 flush privileges 를 할 필요가 없다.
▶ 모든 권한 주기
mysql> grant all privileges on *.* to 사용자명@호스트
-> identified by '비밀번호' with grant option;
▶ 특정 사용자에게 특정 DB의 모든 테이블에 모든 권한 부여하기
mysql> grant all privileges on DB명.* to 사용자명@호스트 identified by '비밀번호';
▶ 특정 사용자에게 특정 DB의 모든 테이블에 select, insert 권한 부여하기
mysql> grant select, insert on DB명.* to 사용자명@호스트
-> identified by '비밀번호';
▶ 특정 사용자에게 특정 DB의 특정 테이블의 정해준 컬럼에만 update 권한 부여하기
mysql> grant update(컬럼1,컬럼2,컬럼3) on DB명.테이블명 to 사용자명@호스트
-> identified by '비밀번호';
▶ 모든 호스트에서 접속가능하고 select 권한만 갖는 사용자를 추가할 땐
mysql> grant select on DB명.* to 사용자명@% identified by '비밀번호';
▶ ip주소가 192.168.0.으로 시작하는 컴퓨터에서 접속가능한 사용자를 추가할 땐
mysql> grant all privileges on *.* to 사용자명@'192.168.0.%' identified by '비밀번호';
▶ 모든 권한 삭제
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 사용자명@호스트;
▶ usage (삭제하면 로그인조차 안됨) 권한 부여, 삭제
usage 권한 부여
mysql> GRANT USAGE ON *.* TO USER_NAME@HOST IDENTIFIED BY 'USER_NAME';
usage 권한 삭제
mysql> REVOKE USAGE ON *.* FROM USER_NAME@HOST;
▶ 권한 확인하기
mysql> SHOW GRANTS FOR 사용자명;
참고사이트